CodeCommitにプライベート要件が保存されているプロジェクトでCodeBuildを実行しています。
CodeBuildがbuildspec.yml
を実行するときにgit clone
が機能するように、https git資格情報をロードするコマンドをpip install
に追加する必要があります。
ビルドはfatal: could not read Username for 'https://git-codecommit.us-west-2.amazonaws.com': No such device or address
で失敗します
CodeBuild環境は認証情報(ユーザー名とパスワードではない)にIAMロールを使用するため、ビルドスペックで CodeCommit credential helper を設定する必要があります:
phases:
install:
commands:
- git config --global credential.helper '!aws codecommit credential-helper $@'
- git config --global credential.UseHttpPath true
CodeBuildは、「git-credential-helper」をyesに設定することで、このbuildspecに簡単にダイヤルできるようになりました。ドキュメント@ https://docs.aws.Amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax
Gitからde credentilsヘルパーを使用できます。次のコマンドをbuilspecパイプラインに配置できます
phases:
install:
commands:
- echo "https://username:[email protected]" > ~/.git-credentials
- git config credential.helper 'store'