Google-Cloud-Platform

部署到 Google App Engine 時出現 Bitbucket Pipeline 錯誤

  • April 27, 2021

googlecloudsdk.command_lib.app.deploy_util.VersionPromotionError:您的部署已成功,但將新版本升級為預設版本失敗。您可能無權更改流量拆分。更改流量拆分需要所有者、編輯者、App Engine 管理員或 App Engine 服務管理員角色。請聯繫您的項目所有者並使用該gcloud app services set-traffic --splits <version>=1命令將流量重定向到您新部署的版本。原始錯誤:INVALID_ARGUMENT:無效請求。

  • ‘@type’: type.googleapis.com/google.rpc.BadRequest fieldViolations:

    • 描述:無法將流量分配給停止的版本暫存。請確保流量僅分配給服務版本。欄位:service.split.allocations$$ staging $$ 錯誤:(gcloud.app.deploy)您的部署已成功,但將新版本升級為預設版本失敗。您可能無權更改流量拆分。更改流量拆分需要所有者、編輯者、App Engine 管理員或 App Engine 服務管理員角色。請聯繫您的項目所有者並使用該gcloud app services set-traffic --splits <version>=1命令將流量重定向到您新部署的版本。原始錯誤:INVALID_ARGUMENT:無效請求。
  • ‘@type’: type.googleapis.com/google.rpc.BadRequest fieldViolations:

    • 描述:無法將流量分配給停止的版本暫存。請確保流量僅分配給服務版本。欄位:service.split.allocations$$ staging $$
  • 狀態=1

  • 設置-e

  • ‘$$ ’ 1 -eq 0 ’ $$’

  • ‘失敗’部署失敗。

  • echo -e ‘\e[31m✖ 部署失敗。\e[0m’

  • 退出 1 ✖ 部署失敗。建構拆解

這使用了具有 App Engine Admin、Deployer 和 storage admin 的 Google 服務帳戶。

有任何想法嗎?謝謝

正如您在此社區答案中看到的那樣,您應該將 2 個額外的角色添加到您的帳戶中,它們是:

  • roles/appengine.serviceAdmin
  • roles/cloudbuild.builds.builder

添加這 2 個權限應該會給您足夠的權限來完成部署。

問題現已解決,您的其他角色 @rafeal 解決了該問題。我正在查看的項目與作為管道一部分的項目不同,所以我的錯誤。

引用自:https://serverfault.com/questions/1060565