AWS CodeCommitからgit cloneする方法

AWS CodeCommitからgit cloneする方法
目次

AWS CodeCommitを使うプロジェクトに参画する機会があり、使い方を備忘録としてまとめようと思います。

CodeCommitからgit cloneしたい

AWSコンソールからCodeCommitを選択し、リポジトリの Clone URL メニューからURLをクリップボードにコピーをします。

その後、 git clone ${URL} をするとリポジトリをcloneできるかと思いきや、CodeCommitの場合には事前にもうひと手間必要なのです。

credentialsとgit configの編集

まず、リポジトリはCodeCommit上にあるので、AWSリソースへのアクセス権限が必要です。 AWSコンソールのIAMのメニューからCodeCommitへアクセス可能なユーザのアクセスキーを取得し ~/.aws/credentials に記載します。

1[${プロファイル名}]
2aws_access_key_id = ${ACCESS_KEY_ID}
3aws_secret_access_key = ${SECRET_ACCESS_KEY}
4region = ${REGIOIN}

その後、 git config コマンドでgitの設定を書き換えます。

1git config --global credential.helper "!aws codecommit --profile ${プロファイル名} credential-helper $@"
2git config --global credential.UseHttpPath true

これで git clone ${URL} ができるようになります。

エラーメッセージが出た場合の対処

git clone ${URL} 時に以下のようなエラーに出くわしました。

1git: 'credential-aws' is not a git command. See 'git --help'.

この場合、git config コマンドでの設定が失敗している可能性があります。 .gitconfig の内容を確認します。

1vi ~/.gitconfig

credential のブロックで git config --global で設定した内容が正しく指定されているかを確認しましょう。

1[credential]
2	helper = "!aws codecommit --profile ${PROFILE名} credential-helper $@"
3	UseHttpPath = true