【问题标题】:App Engine deploy issue (gcloud.app.deploy) Error Response: [9]App Engine 部署问题 (gcloud.app.deploy) 错误响应:[9]
【发布时间】:2021-02-13 10:31:01
【问题描述】:

我刚刚尝试重新部署我已经部署的同一个项目。我添加了一些静态文件,仅此而已,并在本地对其进行了测试,效果很好。但是,在部署时出现错误: 开始部署服务 [默认]...

╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build XXX-5ad7883fea49 status: FAILURE
Build error details: Build error details not available.
Full build logs: https://console.cloud.google.com/cloud-build/builds/XXX-5ad7883fea49?project=XXX

我测试了互联网上我能找到的所有内容,但我找不到错误 #9 的修复程序。我检查了日志,它们没有提供更多信息,至少对我来说不是:

Starting Step #4 - "analyzer"
Step #4 - "analyzer": Already have image (with digest): us.gcr.io/gae-runtimes/buildpacks/nodejs12/builder:nodejs12_20210105_12_20_1_RC00
Step #4 - "analyzer": ERROR: failed to initialize cache: failed to create image cache: accessing cache image "us.gcr.io/[project name]/app-engine-tmp/build-cache/ttl-7d/default/buildpack-cache:9aef878d-ea0b-4e41-9b60-13bfd4b6a332": connect to repo store 'us.gcr.io/[project name]/app-engine-tmp/build-cache/ttl-7d/default/buildpack-cache:9aef878d-ea0b-4e41-9b60-13bfd4b6a332': GET https://us.gcr.io/v2/[project name]/app-engine-tmp/build-cache/ttl-7d/default/buildpack-cache/manifests/9aef878d-ea0b-4e41-9b60-13bfd4b6a332: DENIED: Permission denied for "9aef878d-ea0b-4e41-9b60-13bfd4b6a332" from request "/v2/[project name]/app-engine-tmp/build-cache/ttl-7d/default/buildpack-cache/manifests/9aef878d-ea0b-4e41-9b60-13bfd4b6a332". 
Finished Step #4 - "analyzer"
ERROR
ERROR: build step 4 "us.gcr.io/gae-runtimes/buildpacks/nodejs12/builder:nodejs12_20210105_12_20_1_RC00" failed: step exited with non-zero status: 1

我不明白它在说什么图像,尽管我尝试删除整个 App Engine 以将其读回以修复此问题,但我认为如果不丢失我的项目 ID 就无法做到这一点,这不是我想要的做。

我正在使用 NodeJS12 和 ExpressJS,仅此而已。 app.yaml 如下:

# [START gae_quickstart_yaml]
runtime: nodejs12
# [END gae_quickstart_yaml]

还有什么我可以做的吗?这个项目中的内容太少了,我基本上被困在还有什么可以削减来测试它是否是问题的地步。我检查了问题是否在 Google Cloud Shell 中仍然存在,它确实存在,所以我猜这不是本地错误。

【问题讨论】:

  • 你的 package.json 是否也在 nodejs12 中?当你执行 npm 安装时,你有警告的依赖吗?
  • @guillaumeblaquiere 感谢您的评论。我的 package.json 没有关于 node.js 版本的信息集。有一个依赖项:"express": "^4.17.1"。我运行 npm install 没有任何问题。
  • 确保 Cloud SDK 是最新的 it's latest version(运行 gcloud components update 并尝试使用 gcloud app deploy --no-cache 部署您的应用程序。同时确保您没有超过任何相关限制到配额(例如超过 32 MB 的单个静态数据文件或每日部署次数),如 here 所述。希望这会有所帮助。
  • @DanielOcando 感谢您的评论。我在发布问题之前运行了组件更新,它对结果完全没有影响。项目中所有文件的总大小为 20.2MB。刚刚尝试执行--no-cache 命令,得到了相同的结果,错误响应 [9]。
  • 查看共享的错误消息我看到您有权限被拒绝错误。创建一个新存储桶,确保您的 App Engine 和 Cloud Build 服务帐户都具有存储管理员权限,以便能够对存储桶进行写入和读取,并在您的 gcloud 应用部署中同时使用 --bucket 和 --no-cache 标志命令。

标签: node.js google-app-engine google-cloud-platform


【解决方案1】:

将其作为社区 wiki 发布,因为它基于 @DanielOcando 制作的 cmets

错误消息提示问题是存储桶的权限问题。

为了修复它,您可以创建一个新存储桶,确保您的 App Engine 和 Cloud Build 服务帐户都具有存储管理员权限,以便能够对存储桶进行写入和读取,并同时使用 --bucket--no-cache 标记在您的 gcloud app deploy 命令上。

至于为什么会发生这种情况,如果不检查您的项目就很难说,所以我建议您打开private customer issue on Google's Issue Tracker,以便他们的工程团队确定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 2021-06-06
    • 2018-05-07
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多