【问题标题】:How to deploy standard Go app on App Engine如何在 App Engine 上部署标准 Go 应用
【发布时间】:2019-12-04 07:07:37
【问题描述】:

我在 Google Cloud Platform 上创建了一个 App Engine 项目,并为 Go 遵循了一个非常基本的 quick start tutorial,但是当尝试使用 gcloud app deploy 部署我的应用程序时,它看起来像是在尝试使用 Docker(灵活环境)进行部署,而我想使用标准环境进行部署。如何避免使用 Docker 并部署此应用程序?

$ gcloud app deploy
<...>

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 1 file to Google Cloud Storage                 ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.                                                                                                                      
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build ... status: FAILURE.
Error ID: 581A171A.
Error type: BuildError.
Error message: 2019/07/25 23:59:26 Building from Go source in /tmp/staging/srv/gopath/src/<project_name>, with main package at <project_name>
2019/07/25 23:59:26 Building /tmp/staging/srv/gopath/src/<project_name>, saving to /tmp/staging/usr/local/bin/start
2019/07/25 23:59:30 Wrote build output to /builder/outputs/output
2019/07/25 23:59:30 Wrote output to /tmp/staging/usr/local/bin/start
2019/07/25 23:59:30 Making tarball /tmp/tar-out406385400/app.tar.gz
2019/07/25 23:59:31 Creating app image on GCR: <...>
2019/07/25 23:59:32 Failed to create app image on GCR: [/bin/appender.par --src-image us.gcr.io/gae-runtimes/go112:go112_20190613_1_12_6_RC00 --tarball /tmp/tar-out406385400/app.tar.gz --dst-image us.gcr.io/<project_name>/app-engine-tmp/app/ttl-2h:4d75e939-3879-42b5-8fec-da14ad651baf]: Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/bin/appender.par/__main__.py", line 90, in <module>
  File "/bin/appender.par/__main__.py", line 79, in main
  File "/bin/appender.par/containerregistry/client/v2_2/docker_session_.py", line 71, in __init__
  File "/bin/appender.par/containerregistry/client/v2_2/docker_http_.py", line 198, in __init__
  File "/bin/appender.par/containerregistry/client/v2_2/docker_http_.py", line 301, in _Refresh
containerregistry.client.v2_2.docker_http_.TokenRefreshException: Bad status during token exchange: 403
{"errors":[{"code":"DENIED","message":"Token exchange failed for project '<project_name>'. Access denied."}]}.

【问题讨论】:

  • 通过检查您创建案例的时间,我可以关联到 Google 中断事件 #19009[1]。该事件被标记为现在已解决。将来,如果您在运行快速入门指南时遇到 Google Cloud 产品问题,我鼓励您在正确组件下的公共问题跟踪器中报告该问题。可用组件可在 [2] 中找到。如果问题仍然存在,请创建一个新问题。 [1] status.cloud.google.com/incident/appengine/19009 [2] cloud.google.com/support/docs/issue-trackers
  • 确保您的 app.yaml 声明您使用的是标准环境,例如 runtime: go111
  • @k-f 很好,项目今天早上部署。感谢您提供信息。
  • 检查cloud status page 是否有服务中断也是值得的 - 在中断情况下提交问题效率不高。

标签: google-app-engine go gcloud


【解决方案1】:

我得到了完全相同的错误。我尝试切换到另一种语言,以确保该错误仍与拒绝访问有关。 我的猜测是账单。我有一个从未启用结算功能的旧帐户。免费试用 300 美元。在过去,我们无需设置计费即可注册和部署标准 AppEngine。 一旦我启用了计费功能(使用 300 美元的免费试用?),部署就成功了。

【讨论】:

  • 我有一个与我的项目相关联的结算帐户。它仍然有同样的问题。还有什么问题?
猜你喜欢
  • 2020-08-30
  • 2019-02-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 2020-03-21
  • 2019-08-11
  • 2019-01-04
  • 2021-01-06
相关资源
最近更新 更多