创建新的 Google Cloud 项目并仔细遵循此 文档中的所有步骤来创建和部署新的 GAE 应用程序后,
gcloud app deploy
会产生以下错误:
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 12 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] Failed to create cloud build:
com.google.net.rpc3.client.RpcClientException: <eye3 title='/ArgoAdminNoCloudAudit.CreateBuild, FAILED_PRECONDITION'/>
APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminNoCloudAudit.CreateBuild;invalid bucket
"staging.<myproject-id-redacted>.appspot.com"; default Cloud Build service account or user-specified service account
does not have access to the bucket;AppErrorCode=9;StartTimeMs=1720838040970;unknown;ResFormat=uncompressed;ServerTimeSec=
1.2677860490000001;LogBytes=256;Non-FailFast;EndUserCredsRequested;EffSecLevel=none;ReqFormat=uncompressed;ReqID=
929904cf53cd5131;GlobalID=0;Server=[2002:a05:6220:101:b0:4:6180:ab19]:4001.
这似乎是之前报告过的一个问题,类似的帖子like this都指向中断(目前似乎没有报告)。其他帖子(例如 thisone)建议打开其他 api 和服务并向服务帐户授予额外权限。我已尝试了所有这些建议(即打开其他 api、向相关服务帐户的存储桶授予/确认权限等),但无济于事。
肯定感觉有些东西坏了和/或缺少一些文档。 Fwiw,如果不每月支付 30 美元的技术支持,就无法与 Google 的任何人取得联系,这也令人沮丧,所以我希望 GCP 团队的某人看到这一点 - 要么是服务的某些部分已关闭,要么是文档可能需要待更新。
看起来按照这个doc,App Engine 的默认服务帐户发生了变化。
如果我没记错的话,早期的服务帐户曾经是
{projectNumber}[email protected]
。根据 [doc] 当前服务帐户格式为 {projectName}@appspot.gserviceaccount.com
因此,您应该将这些角色添加到上述默认的 appspot 服务帐户中。我希望
gcloud app deploy
命令在进行这些更改后能够正常工作。
工件注册表管理员
计算管理
日志编写器
存储管理员