无法提交 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.

当由 git push 或 github PR comment 触发时,同样cloudbuild.yaml可以正确运行。此外,几个月前我能够通过这种方式提交构建。

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 submit 返回错误,即使我_SLACK_MESSAGE_TEMPLATE通过提供--substitutions

相关内容