gcloud app deploy:此部署包含太多文件

Avi*_*Raj 7 python google-app-engine flask

当我尝试通过gcloud部署我的GAE应用程序时,我收到了以下错误.

Updating service [default]...failed.                                                                  
ERROR: (gcloud.app.deploy) Error Response: [400] This deployment has too many files. New versions are limited to 10000 files for this app.

Details: [
  [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "fieldViolations": [
        {
          "description": "This deployment has too many files. New versions are limited to 10000 files for this app.",
          "field": "version.deployment.files[...]"
        }
      ]
    }
  ]
]
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

Dan*_*scu 9

如果您在尝试部署的服务中确实有超过10000个文件配额,那么您必须相应地减少数量,请参阅

假设您实际上没有达到文件配额,那么错误通常表示您在app目录中有循环/循环引用符号链接.这也可以解释一条路径,就像你在这篇文章的评论中提到的那样:https://stackoverflow.com/a/42425048/4495081.你只需要修复有问题的符号链接.同样,简单/一致的目录结构可以帮助防止此类问题.


Dav*_*ith 6

gcloud app deploy写一个日志文件,并告诉你该日志在其输出中的早期位置.检查日志.它会告诉你正在上传什么.

我见过人们遇到麻烦的两种常见方式是

  1. 使用virtualenv,但不添加venv(或者.venv,如果这是你选择的名称)skip_files.
  2. 使用Git,但不忘补充.gitskip_files

  • 对于 python 运行时 3.7,通过将这些文件添加到 .gcloudingore 而不是 app.yaml 中的 skip_files 来解决此错误 (4认同)