👋

CodeBuild - Error - docker push . Reason: exit status 1

2024/02/02に公開

環境

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