无法将项目部署到 Google Cloud App Engine Standard

Fail to deploy project to Google Cloud App Engine Standard

我有一个项目 运行 很好,但我想进行一些更改并解决一些错误,所以我尝试使用 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,所以我没有更改标准应用引擎中的任何默认配置

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

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

我最近遇到过这种情况。

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

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

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