🆖

ローカルでビルドに成功したコンテナが gcloud builds submit した際にエラーになる

2024/05/19に公開

タイトルの現象が起こり、解決までに時間がかかったので、共有

解決策

.gcloudignore が正しいファイル名になっていないため、確認して修正する

理由

  • .gcloudignoregcloud builds submitの際に送信しないファイル(除外対象)を定義するものである。
  • .gcloudignoreが送信するファイルに含まれていない場合、全てのファイルが送信されるのではなく、デフォルトの.gcloudignoreが適用されており、その条件に当てはまるファイルは除外対象とされる。(コマンドの実行ログにもその旨が記載されている)
  • デフォルトの .gcloudignoreの内容は下記の通りである。
    • 6行目に #!include:.gitignore の記述がある通り、デフォルトでは.gitignoreの内容を読み込んで.gcloudignoreに含める設定になっている。
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or
# files from your .gitignore file, remove the corresponding line below:
.git
.gitignore
#!include:.gitignore

参照元:https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore

  • そのため、ビルドに必要なファイルが .gitignore に含まれている場合、必要なファイルが送信されず、ローカルでは成功していたビルドに失敗する。

Discussion