👋
CodeBuild - Error - docker push . Reason: exit status 1
環境
AWS CodePipeline
- パイプラインタイプ:v1
エラー内容
CodeBuild のビルドログのエラー
Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: docker push $REPOSITORY_URI:$IMAGE_TAG. Reason: exit status 1
原因
説明
- Push 対象の Image Tag が、すでに ECR に作成されている
気づけた理由
- ビルドログに、下記の記載があった
-
tag invalid: The image tag '<タグ名>' already exists in the '<ECR名称>' repository and cannot be overwritten because the repository is immutable.
対応
行ったこと
- ECR の対象リポジトリから、ビルドログに記載された tag のイメージを削除
何が問題だったのか
推察
- パイプラインタイプ:v1 を使用していることもあり、CodeCommit のポーリングが停止された状態であったこと
- この前提を基に、該当のパイプラインから、「変更をリリースする」を実行した
- 結果、ビルド履歴をみる限り、なぜか複数回のビルドな実行された形跡があり、実行を指示した回数以上に、ビルドの実行が行われていた
結論
自業自得
- さぼらず、ちゃんと移行しましょう
Discussion