2017-09-26 23 views
0

当我运行`gcl​​oud app deploy`上传了哪些文件?

gcloud app deploy app.yaml 

该文件实际上得到上传?

项目文件夹包含与部署的应用程序无关的文件夹和文件,例如.git.git_ignore,Makefilevenv

gcloud app deploy如何决定上传哪些文件?

+0

相关:https://stackoverflow.com/questions/40805182/see-the-files-that-will-be-deploy-to-google-appengine –

+0

另请参见:https://stackoverflow.com/questions/36751908/how-can-i-exclude-a-file-from-deploy-in-gcloud –

回答

1

它们全部上传,除非您使用app.yaml中的skip_files指令。这是把.git在有一个好主意:

skip_files: 
    - ^\.git/.* 
    # Defaults 
    - ^(.*/)?#.*#$ 
    - ^(.*/)?.*~$ 
    - ^(.*/)?.*\.py[co]$ 
    - ^(.*/)?.*/RCS/.*$ 
    - ^(.*/)?\..*$ 

注意,如果你使用静态处理程序,上载不同的地方。静态文件被发送到CDN并且不能用于您的语言运行时间(尽管也有解决方法)。

编辑

谢谢提意见:确保你知道有默认设置你被包括这个元素重写。包含默认模式以及您想要添加的内容是最安全的。我编辑了上面的代码。请务必阅读的文档:

https://cloud.google.com/appengine/docs/standard/python/config/appref#skip_files

+0

谢谢。有没有办法让'ls'上传哪些文件?所以我可以改进这个'skip_files'设置。 –

+0

不确定。他们不断添加功能,我认为云控制台中有一些可用于检查已部署代码的功能,但我从未使用它们。 – Chris

+0

@Chris小心这个例子 - 它会覆盖'skip_files'默认值,这可能会导致问题,请参阅:https://stackoverflow.com/questions/46311440/appengine-no-module-named-pyasn1-compat-binary?noredirect = 1#comment79607866_46311440 –

1

如何gcloud应用程序部署决定哪些文件被上传?

它没有。它默认上传一切。作为另一个反应提到你可以使用skip_files节中的app.yaml如下:

skip_files: 
- ^(.*/)?#.*#$ 
- ^(.*/)?.*~$ 
- ^(.*/)?.*\.py[co]$ 
- ^(.*/)?.*/RCS/.*$ 
- ^(.*/)?\..*$ 
- ^(.*/)?\.bak$ 
- ^\.idea$ 
- ^\.git$ 

您还可以使用--verbosity参数去看看正在部署哪些文件,即gcloud app deploy app.yaml --verbosity=debuggcloud app deploy app.yaml --verbosity=infoper docs

相关问题