Google Cloud Build - source-context.json SHA 不匹配

Google Cloud Build - source-context.json SHA mismatch

我有一个 Python 3 项目,我在 Google AppEngine Standard 上托管。直到几天前,我才能够正常部署(自从我在 2019 年 7 月进行初始设置以来)直到几天前。现在我得到以下响应:

starting build "abc"

FETCHSOURCE
BUILD
Starting Step #0 - "fetcher"
Step #0 - "fetcher": Already have image (with digest): gcr.io/cloud-builders/gcs-fetcher
Step #0 - "fetcher": Fetching manifest gs://staging.my-project.appspot.com/ae/xxx/manifest.json.
Step #0 - "fetcher": Processing 312 files.
Step #0 - "fetcher": Failed to fetch gs://staging.my-project.appspot.com/xxx, will no longer retry: fetching "gs://staging.my-project.appspot.com/xxx" with timeout 1h0m0s to temp file "/workspace/.download/staging.my-project.appspot.com-xxx": source-context.json SHA mismatch, got "xxx", want "yyy"
Step #0 - "fetcher": Failed to download at least one file. Cannot continue.
Finished Step #0 - "fetcher"
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/gcs-fetcher" failed: step exited with non-zero status: 1

知道为什么会发生这种情况以及如何解决它吗?

P.S。我使用以下命令进行部署:

gcloud --project my-project app deploy app.yaml

在与 Google 工程师 (https://issuetracker.google.com/issues/154588981?pli=1) 交谈后,以下工作有效:

  1. 删除 source-context.json 文件
  2. 删除部署文件所在的存储桶,例如gs://staging.my-project.appspot.com
  3. 再次部署

如果您需要source-context.json文件,您可以按照以下步骤操作:https://www.google.com/url?q=https://cloud.google.com/debugger/docs/source-context&sa=D&usg=AFQjCNHMB7Dm_jISwG2AnpokQ7XN5GmLAw

我在 gcloud app deploy 期间更改本地文件后遇到了类似的问题,上传时间很长(2200 个文件,因为错误的 .gcloudignore)。

我通过删除 cloud storage browser 中更改的文件并使用 gcloud app deploy 再次部署来修复它。

这就是我所做的并且对我有用:

1。 转到错误描述中的link:

2。 您会看到一些暂存失败的行,复制第一行中的文件名:

3。 转到 Google 存储 here 并输入名称以“staging.***”开头的存储桶 在那个桶中,我搜索我在第 2 步中复制的字符串:

4。 删除该文件,然后针对错误详细信息 link 中看到的每一行重试该步骤(在我的示例中有 4 行)。

5。 再次部署!

对于任何使用 NextJS 项目的人来说,解决方案可能是删除 .next 文件夹并重建您的项目。似乎下一个缓存文件可能会变得不同步。

从项目的根目录:

rm -rf .next && next build

然后照常重新部署