【发布时间】:2020-12-23 08:18:41
【问题描述】:
我使用 Java 11 创建了一个 GCP App Engine (AE) 项目。创建 AE 项目后,我将其链接到 Firebase(而不是一开始就通过 Firebase 本地创建)。一切正常。
今天我删除了 Firebase 帐户,以为它会保留原始 AE 项目,因为我认为它只是我核心 AE 项目的附加组件。我错了。 AE 项目和 Firebase 帐户均已删除。我通过 GCP 管理屏幕恢复了两个站点,并且站点恢复了(AE 项目 和 Firebase 功能)。
现在的问题是我无法使用gcloud app deploy 部署我的代码的新版本。构建日志(在 GCP 端)列出了以下错误:
第 3 步 - “分析器”:已有图像(带摘要):us.gcr.io/gae-runtimes/buildpacks/java11/builder:java11_20200816_11_0_RC00
第 3 步 - “分析器”:错误:无法初始化缓存:无法创建图像缓存:访问缓存图像“us.gcr.io/my-project-dev-287623/app-engine-tmp/build- cache/ttl-7d/default/buildpack-cache:latest": 连接到 repo store 'us.gcr.io/my-project-dev-287623/app-engine-tmp/build-cache/ttl-7d/default/ buildpack-cache:latest': GET https://us.gcr.io/v2/my-project-dev-287623/app-engine-tmp/build-cache/ttl-7d/default/buildpack-cache/manifests/latest: DENIED: Permission denied for "latest" from request "/v2/my-project-dev-287623/app-engine-tmp/build-cache/ttl-7d/default/ buildpack-cache/manifests/latest”。
现在我无法部署任何新代码。有什么想法吗?
【问题讨论】:
-
通过点击上面的网址,消息显示“请启用或联系项目所有者以在 Cloud Console 中启用 Google Container Registry API”。尝试先启用 Google Container Registry API。
-
@ShawnDiWu - 我检查了 Google Container Registry API,它已经启用。我可以在凭据下看到我的服务帐户条目。我看不出有什么不妥之处。
-
在部署时尝试使用
--no-promote --no-stop-previous-version标志。如果可行,请停止和/或删除旧版本。让我知道这是否有效。 -
@RafaelLemos - 我试过
--no-promote --no-stop-previous-version,但仍然失败,出现同样的权限错误。 -
可以确定是权限错误。你需要grant permission to the docker。它也可能是由“Cloud Build API”引起的,检查“Cloud Build API”是否已启用并尝试禁用它然后启用它。它可能会有所帮助。如果问题仍然存在,请告诉我。
标签: java firebase google-app-engine google-cloud-platform