🆖
ローカルでビルドに成功したコンテナが gcloud builds submit した際にエラーになる
タイトルの現象が起こり、解決までに時間がかかったので、共有
解決策
.gcloudignore
が正しいファイル名になっていないため、確認して修正する
理由
-
.gcloudignore
はgcloud builds submit
の際に送信しないファイル(除外対象)を定義するものである。 -
.gcloudignore
が送信するファイルに含まれていない場合、全てのファイルが送信されるのではなく、デフォルトの.gcloudignore
が適用されており、その条件に当てはまるファイルは除外対象とされる。(コマンドの実行ログにもその旨が記載されている) - デフォルトの
.gcloudignore
の内容は下記の通りである。- 6行目に
#!include:.gitignore
の記述がある通り、デフォルトでは.gitignore
の内容を読み込んで.gcloudignore
に含める設定になっている。
- 6行目に
.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