當我運行`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 –