AppEngine 部署是文件的 SHA1 总和冲突



我想为我们的应用程序部署更新,但我们遇到gcloud命令的问题,该命令未能"文件的 SHA1 总和冲突"。这是输出:

➜ gcloud app deploy xxx-xxx-xxxx.yaml --project xxx-xxx-xxxx --quiet 
Services to deploy:
descriptor:      [/home/vzool/Workspace/xxx-xxxx-xxxxxxxxxxx/xxx-xxx-xxxx.yaml]
source:          [/home/vzool/Workspace/xxx-xxxx-xxxxxxxxxxx]
target project:  [xxx-xxx-xxxx]
target service:  [default]
target version:  [20180917t110153]
target url:      [https://xxx-xxx-xxxx.appspot.com]

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: [3] The following errors occurred while copying files to App Engine:
File https://storage.googleapis.com/staging.xxx-xxx-xxxx.appspot.com/c819d7599ceb31df8d4370eed1981defcb5034c6 failed with: Conflicting SHA1 sum for file. Expected "ddb6af3b_cf4bff57_613fb78d_208480fa_1717b3c4" but received "c819d759_9ceb31df_8d4370ee_d1981def_cb5034c6".
Details: [
[
{
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "Conflicting SHA1 sum for file. Expected "ddb6af3b_cf4bff57_613fb78d_208480fa_1717b3c4" but received "c819d759_9ceb31df_8d4370ee_d1981def_cb5034c6".",
"resourceName": "https://storage.googleapis.com/staging.xxx-xxx-xxxx.appspot.com/c819d7599ceb31df8d4370eed1981defcb5034c6",
"resourceType": "file"
}
]
]

我确实删除了这个文件c819d7599ceb31df8d4370eed1981defcb5034c6但每次都会生成新的哈希时,删除整个块staging.xxx-xxx-xxxx.appspot.com我确实清除了Memcache但没有运气尝试所有这些选项! :(

我不知道该怎么办了,任何建议可能会帮助我?

谢谢

我认为经过一段时间的研究,该应用程序本身具有实时功能,可以在您打开实时页面时更新一个文件。 因此,这会更改gcloud上传的内容。gcloud上传然后验证。如果文件在上传后和验证之前更改gcloud将通过此错误在您的脸上。哈哈哈 ^_^

OP的回答似乎表明在gcloud部署过程中触及了一个文件。

我的解决方案是:

  1. git checkout一些随机分支
  2. git checkout我实际上尝试再次部署的分支
  3. 运行gcloud app deploy . --version my_version_id --project my_project_id

最新更新