使用触发器将源代码从云构建发布到存储桶时出错
Error publishing source code from cloud build to a bucket using triggers
我正在尝试通过云构建触发器将 html 代码从一个云源存储库发布到 gcp 中的 public 存储桶。但是,每次推送到 master 分支时,我都会在构建中遇到以下错误。
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
Cloud Build 似乎是从一个特定的服务帐户开始的,而该帐户没有在 Logging 中存储构建日志的权限。
将日志管理员 (roles/logging.admin) 角色授予您在 YAML 文件中指定的服务帐户。
This document 包含有关配置用户指定的服务帐户的详细信息
错误已解决,在 cloudbuild.yaml 末尾添加日志规范并启用 IAM API。
存储桶和云构建配置位于同一项目中,因此我不需要向云构建服务帐户授予其他角色。
options:
logging: CLOUD_LOGGING_ONLY
Cloud Build documentation 涵盖所有可用的日志记录选项。
并且(同时)正确的角色是 roles/storage.admin
。
我正在尝试通过云构建触发器将 html 代码从一个云源存储库发布到 gcp 中的 public 存储桶。但是,每次推送到 master 分支时,我都会在构建中遇到以下错误。
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
Cloud Build 似乎是从一个特定的服务帐户开始的,而该帐户没有在 Logging 中存储构建日志的权限。
将日志管理员 (roles/logging.admin) 角色授予您在 YAML 文件中指定的服务帐户。
This document 包含有关配置用户指定的服务帐户的详细信息
错误已解决,在 cloudbuild.yaml 末尾添加日志规范并启用 IAM API。 存储桶和云构建配置位于同一项目中,因此我不需要向云构建服务帐户授予其他角色。
options:
logging: CLOUD_LOGGING_ONLY
Cloud Build documentation 涵盖所有可用的日志记录选项。
并且(同时)正确的角色是 roles/storage.admin
。