無法提交 gcloud 版本

無法提交 gcloud 版本

我正在嘗試從本地工作站提交建置並收到非描述性錯誤:

gcloud builds submit --config cloudbuild.yaml .
Creating temporary tarball archive of 149 file(s) totalling 121.5 MiB before compression.
Uploading tarball of [.] to [gs://***/source/1598211672.63-e76a3db01aa3435885a35cc3b94f0246.tgz]
ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: Request contains an invalid argument.

cloudbuild.yaml當由 git Push 或 github PR 評論觸發時,同樣可以正確運行。另外,幾個月前我可以透過這種方式提交建置。

gcloud auth list表示活躍帳戶是絕對具有專案擁有者角色的帳戶。此外,我還可以執行其他 gcloud 指令,例如儲存桶管理、運算實例管理等。

答案1

這正在按預期工作並且已記錄在案這裡

預設情況下,如果缺少替換變數或缺少替換,建置會傳回錯誤。但是,您可以設定 ALLOW_LOOSE 選項來跳過此檢查。

當您使用觸發器呼叫建置時也是如此:

如果您的建置是由觸發器呼叫的,則預設會設定 ALLOW_LOOSE 選項。在這種情況下,如果缺少替換變數或缺少替換,您的建置將不會傳回錯誤。您無法覆寫觸發器呼叫的建置的 ALLOW_LOOSE 選項。

答案2

我已經添加

options:
  substitution_option: 'ALLOW_LOOSE'

到 cloudbuild.yaml,建置現在提交。由於某種原因,如果 cloudbuild.yaml 定義了替換,例如:

substitutions:
  _SLACK_MESSAGE_TEMPLATE: 'backend build succeeded"

cli cloudbuild 提交會回傳錯誤,即使我_SLACK_MESSAGE_TEMPLATE透過--substitutions.

相關內容