我想使用一个自定义服务帐户来构建我的docker容器与云构建。我使用gcloud iam service-accounts list
和gcloud config list
确认服务帐户在项目环境中,使用gcloud services list --enabled
检查cloudbuild.googleapis.com
是否已启用。我得到错误:ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: could not parse service account URL
。我尝试了所有可用的服务帐户,我尝试了带和不带前缀路径。获得服务帐户工作步骤后的正确URL或配置是什么?
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/my-project-id/my-app']
images: ['gcr.io/my-project-id/my-app']
serviceAccount: 'projects/my-project-id/serviceAccount/my-sa@my-project-id.iam.gserviceaccount.com'
options:
logging: CLOUD_LOGGING_ONLY
serviceAccount的构建配置引用了该页,并且有一个示例显示了结构:
projects/{project-id}/serviceAccounts/{service-account-email}
因此,它遵循Google的API约定,即复数名词(即serviceAccounts
)后跟唯一标识符。
另一种确认这一点的方法是通过api Explorer for Cloud Build。
服务的Build资源也定义了serviceAccount。