【问题标题】:Google Cloud Build - source-context.json SHA mismatchGoogle Cloud Build - source-context.json SHA 不匹配
【发布时间】:2020-04-21 14:35:06
【问题描述】:

我有一个 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

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

附:我使用以下命令进行部署:

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

【问题讨论】:

标签: google-app-engine google-cloud-platform deployment google-cloud-build


【解决方案1】:

这就是我所做的,它对我有用:

1。 转到错误描述中的链接:

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

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

4。 删除了该文件,然后为您将在错误详细信息链接中看到的每一行重试该步骤(在我的示例中,有 4 行)。

5。 再次部署!

【讨论】:

    【解决方案2】:

    在与 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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        从项目的根目录:

        rm -rf .next && next build

        然后像往常一样重新部署

        【讨论】:

          猜你喜欢
          • 2022-12-17
          • 1970-01-01
          • 2018-05-18
          • 2017-08-01
          • 2020-08-13
          • 1970-01-01
          • 2021-03-27
          • 1970-01-01
          • 2022-01-15
          相关资源
          最近更新 更多