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