2017-09-26 41 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

相關問題