AWS CodeCommit(エーダブリューエス コードコミット)は、Amazon.comがAmazon Web Services(AWS)の一部として提供する、Gitのリポジトリをホスティングするバージョン管理サービスである。利用者は自分でサーバーを用意することなく非公開のリポジトリを作成し、ソースコードや文書、バイナリファイルをクラウド上で保管して変更履歴を管理できる。既存のGitのコマンドやGitクライアントからそのまま利用でき、通信はHTTPSまたはSSHで行う。2014年11月12日に発表され、2015年7月9日に提供が始まった。
概要 複数の開発者が同じソースコードを扱う開発では、変更の履歴を記録して共有するためにGitなどのバージョン管理システムが使われる。自前でGitのサーバーを運用する場合はその構築や保守、バックアップ、利用者やリポジトリの増加に応じた増強が必要になるが、CodeCommitではこれらをAWSが受け持つ。@ITは、すでにAWSを使って開発しているのであれば、GitLabなどのほかに、選択肢の1つになると解説している。
リポジトリの容量やファイル数に上限はなく、1つのファイルの上限は2ギガバイトである。保管中と転送中のデータは自動的に暗号化され、保管時の暗号化にはAWS Key Management Service(KMS)の鍵が使われる。アクセス権はIAMで管理し、リポジトリごとに利用者単位の権限を指定できる。たとえば、取得(git pull)は許可するが送信(git push)は許可しない読み取り専用の利用者を作れる。
CodeCommitのリポジトリは、AWS CodeBuild、AWS CodeDeploy、AWS CodePipelineといったAWSのほかの開発者向けサービスと連携し、ソフトウェアのビルドやリリースの自動化に使われる。2016年4月からはCodePipelineのソースとして選択でき、リポジトリへの変更の送信を起点に、ビルドやデプロイ(作成したソフトウェアを実行環境に配置して動かせる状態にすること)までの流れを自動化できる。料金は、その月にリポジトリへアクセスした利用者(アクティブユーザー)の数に応じた月額制で、一定量までの無料利用枠がある。
主な機能 リポジトリのホスティングと接続 非公開のGitリポジトリを作成し、Gitのコマンドや各種のGitクライアントからHTTPSまたはSSHで接続する。認証には、HTTPSではAWSの資格情報を、SSHでは利用者がIAMユーザーに登録した公開鍵を使う。 プルリクエストとコードレビュー あるブランチの変更を取り込む前に、ほかの開発者にコードレビューを依頼してコメントを付けられる仕組みで、2017年11月に追加された。2019年11月には承認ルールが加わり、必要な承認の数や特定の利用者の承認が得られるまで取り込み(マージ)を行えないようにできる。 トリガーによる自動処理 ブランチへの変更の送信や、ブランチやタグの作成・削除といったイベントを契機に、Amazon Simple Notification Service(Amazon SNS)による通知の送信やAWS Lambda関数の実行を設定できる。2016年3月に追加された。
2017年8月からは、リポジトリの状態の変化がAmazon CloudWatchのイベント機能(Amazon CloudWatch Events)へ送られるようになり、利用者はこのイベントに規則を設定して、Amazon SNSのトピックやAWS Lambda関数などへ振り向けられる。
歴史 CodeCommitは、2014年11月12日にAWSの年次イベント「re:Invent」で発表された。同じ日に提供が始まったCodeDeployとあわせて公表され、基調講演では、容量に制限のないコードリポジトリとして、CodePipelineとともに2015年早期に提供する予定と説明された。
2015年7月9日、すべての利用者に向けた提供が始まった。その後も機能の追加が続き、2020年3月には、AWSのコマンドラインツール(AWS CLI)に登録した設定を用いて有効期限の短い資格情報や多要素認証(MFA)に対応する接続方式のgit-remote-codecommitが加わり、2023年12月にはKMSのカスタマー管理キーによる暗号化に対応した。
2024年7月25日、AWSは同日をもってCodeCommitの新規の顧客の受け付けを終了し、それまでの顧客は引き続き利用できるとした。2025年11月24日、AWSはCodeCommitを完全な一般提供(GA)に戻し、新規の顧客の登録受け付けを同日再開したと発表した。AWSは、2024年7月の方針は採用の状況と顧客のニーズの評価に基づくものだったが、その後に寄せられた意見から、AWSが管理するコードリポジトリが求められていることが明確になったため方針を改めたと説明している。
関連項目 AWS CodeBuild AWS CodeDeploy AWS CodePipeline Git バージョン管理システム CI/CD
脚注
外部リンク AWS CodeCommit(日本語) AWS CodeCommit(英語) AWS CodeCommitユーザーガイド(日本語)