当我运行`gcloud app deploy`上传了哪些文件?
gcloud app deploy app.yaml
该文件实际上得到上传?
项目文件夹包含与部署的应用程序无关的文件夹和文件,例如.git
,.git_ignore
,Makefile
或venv
。
gcloud app deploy
如何决定上传哪些文件?
当我运行`gcloud app deploy`上传了哪些文件?
gcloud app deploy app.yaml
该文件实际上得到上传?
项目文件夹包含与部署的应用程序无关的文件夹和文件,例如.git
,.git_ignore
,Makefile
或venv
。
gcloud app deploy
如何决定上传哪些文件?
它们全部上传,除非您使用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
谢谢。有没有办法让'ls'上传哪些文件?所以我可以改进这个'skip_files'设置。 –
不确定。他们不断添加功能,我认为云控制台中有一些可用于检查已部署代码的功能,但我从未使用它们。 – Chris
@Chris小心这个例子 - 它会覆盖'skip_files'默认值,这可能会导致问题,请参阅:https://stackoverflow.com/questions/46311440/appengine-no-module-named-pyasn1-compat-binary?noredirect = 1#comment79607866_46311440 –
如何gcloud应用程序部署决定哪些文件被上传?
它没有。它默认上传一切。作为另一个反应提到你可以使用skip_files节中的app.yaml如下:
skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^(.*/)?\.bak$
- ^\.idea$
- ^\.git$
您还可以使用--verbosity
参数去看看正在部署哪些文件,即gcloud app deploy app.yaml --verbosity=debug
或gcloud app deploy app.yaml --verbosity=info
per docs。
相关:https://stackoverflow.com/questions/40805182/see-the-files-that-will-be-deploy-to-google-appengine –
另请参见:https://stackoverflow.com/questions/36751908/how-can-i-exclude-a-file-from-deploy-in-gcloud –