首页 > 解决方案 > 使用触发器将源代码从云构建发布到存储桶时出错

问题描述

我正在尝试通过云构建触发器将 html 代码从一个云源存储库发布到 gcp 中的公共存储桶。但是,每次推送到主分支时,都会在构建中收到以下错误。

generic::invalid_argument: generic::invalid_argument: if 'build.service_account' is specified, the build must either (a) specify 'build.logs_bucket' (b) use the CLOUD_LOGGING_ONLY logging option, or (c) use the NONE logging option

我正在使用以下 cloudbuild.yaml

steps:
  - name: gcr.io/cloud-builders/gsutil
    args: ["-m", "rsync", "-r", "-c", "-d", ".", "gs://somedomain.com"]

我认为这与与云构建关联的服务帐户有关。

我正在关注此解决方案的教程在这里:https ://cloud.google.com/community/tutorials/automated-publishing-cloud-build

标签: google-cloud-platformgoogle-cloud-buildgoogle-cloud-source-repos

解决方案


在 cloudbuild.yaml 末尾添加日志规范并启用 IAM API 解决了该错误。存储桶和云构建配置在同一个项目中,因此我不需要向云构建服务帐户授予其他角色。

 options:
 logging: CLOUD_LOGGING_ONLY

推荐阅读