【问题标题】:Fail to deploy project to Google Cloud App Engine Standard无法将项目部署到 Google Cloud App Engine Standard
【发布时间】:2020-12-22 01:19:59
【问题描述】:

我有一个运行良好的项目,但我想进行一些更改并解决一些错误,因此我尝试使用 Google Cloud SDK (gcloud app deploy) 部署我的应用

Services to deploy:

descriptor:      [/home/projects/Myproject/app.yaml]
source:          [/home/projects/Myproject/]
target project:  [my-project]
target service:  [default]
target version:  [20200902t153320]
target url:      [https://my-project.uc.r.appspot.com]


Do you want to continue (Y/n)?  

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 2 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.                                                               
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build 3ebf37fb-b18d-4c68-b352d-10bd8758f90b0 status: FAILURE
Error type: OK
Full build logs: https://console.cloud.google.com/cloud-build/builds/3ebf37fb-b18d-4c68-b32d-10bd8s78f90b0?project=my-projectid

这昨天可以正常工作,但现在它给了我这个错误,我无法进行任何更改:

ERROR: build step 6 "us.gcr.io/gae-runtimes/buildpacks/python38/builder:python38_20200816_3_8_5_RC01" failed: step exited with non-zero status: 246
ERROR
Finished Step #6 - "exporter"
Step #6 - "exporter": ERROR: failed to export: failed to write image to the following tags: [us.gcr.io/my-project/app-engine-tmp/app/ttl-2h/default/buildpack-app:latest: GET https://us.gcr.io/v2/token?scope=repository%3Amy-project%2Fapp-engine-tmp%2Fapp%2Fttl-2h%2Fdefault%2Fbuildpack-app%3Apush%2Cpull&scope=repository%3Agae-runtimes%2Fbuildpacks%2Fpython38%2Frun%3Apull&service=us.gcr.io: DENIED: Token exchange failed for project 'my-project'. Access denied.]
Step #6 - "exporter": *** Digest: sha256:bd8121f23cb362683e7c32a8bbdf2a900606373f8edfsdf36fe0ffb17014
Step #6 - "exporter": 
Step #6 - "exporter":       us.gcr.io/my-project/app-engine-tmp/app/ttl-2h/default/buildpack-app:latest - GET https://us.gcr.io/v2/token?scope=repository%3Amy-project%2Fapp-engine-tmp%2Fapp%2Fttl-2h%2Fdefault%2Fbuildpack-app%3Apush%2Cpull&scope=repository%3Agae-runtimes%2Fbuildpacks%2Fpython38%2Frun%3Apull&service=us.gcr.io: DENIED: Token exchange failed for project 'my-project'. Access denied.
Step #6 - "exporter": *** Images (sha256:bd8121f23cb362683e7c32adfssd73f8ea51326f36fe0ffb17014):

我尝试更改我的身份验证,因此我使用 gcloud auth revoke 和 gcloud app login 来刷新它们。我还删除了存储中的文件并再次加载它们。我什至尝试将代码上传到 GitHub 并使用激活器从那里进行部署。注意似乎行得通。

项目拥有所有权限。服务帐户已启用。我只是不明白出了什么问题。我没有使用 Docker,所以我没有更改标准应用引擎中的任何默认配置

【问题讨论】:

  • 1) 检查您使用的帐户gcloud auth list。 2)然后使用分配给该帐户的角色编辑您的问题。确保帐户(成员 ID)至少分配了 App Engine Deployer 角色。 cloud.google.com/appengine/docs/standard/python/…
  • 3) 确保您已配置正确的项目 gcloud config get-value project,并且您使用的是项目 ID 而不是项目名称 gcloud projects list

标签: django google-app-engine google-cloud-platform gcloud


【解决方案1】:

我最近遇到过这种情况。

计费并不总是问题所在。有时,如果没有进行任何更改并且您尝试再次部署相同的版本,也会产生此问题。

两种解决方法(不是解决方案)

  1. 使用随机版本控制方案而不是 --version SOME_STATIC_VALUE
  2. 确保要部署的代码有一些更改。

【讨论】:

  • 这对我有用 - 更改版本名称没有帮助,简单的代码编辑解决了这个问题。
【解决方案2】:

我遇到了同样的问题,直到运行其他 GCP 命令导致(对我而言)GCP 拒绝部署的结论,因为没有与我的项目关联的结算帐户。 App Engine 和日志没有告诉我这件事,只是告诉我一些 docker push 问题。尝试检查您是否设置了有效的结算帐户,以及该结算帐户是否存在任何问题。

关联结算帐户为我解决了这个问题,并且我能够使用 App Engine 很好地部署我的东西。

【讨论】:

    猜你喜欢
    • 2012-02-11
    • 2013-11-06
    • 2020-05-06
    • 2017-05-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2017-12-24
    相关资源
    最近更新 更多