Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在运行“gcloud app deploy”时忽略文件?_Python_Google App Engine_Google App Engine Python - Fatal编程技术网

Python 如何在运行“gcloud app deploy”时忽略文件?

Python 如何在运行“gcloud app deploy”时忽略文件?,python,google-app-engine,google-app-engine-python,Python,Google App Engine,Google App Engine Python,当我跑的时候 gcloud app deploy app.yaml 哪些文件被上传 项目文件夹包含与部署的应用程序无关的文件夹和文件,如.git、.git\u ignore、Makefile或venv gcloud应用程序如何部署决定上传哪些文件?编辑2018年8月:谷歌推出了.gcloudignore,这是现在的首选,请参见dalanmiller的回答 它们都已上载,除非您使用app.yaml中的skip_files说明。默认情况下,将忽略带有点状.git的文件。如果您想添加更多,请注意您

当我跑的时候

gcloud app deploy app.yaml
哪些文件被上传

项目文件夹包含与部署的应用程序无关的文件夹和文件,如
.git
.git\u ignore
Makefile
venv


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

编辑2018年8月:谷歌推出了
.gcloudignore
,这是现在的首选,请参见dalanmiller的回答


它们都已上载,除非您使用
app.yaml
中的
skip_files
说明。默认情况下,将忽略带有点状
.git
的文件。如果您想添加更多,请注意您正在覆盖这些默认值,并且几乎肯定希望保留它们

skip_files:
  - ^Makefile$
  - ^venv$
  # Defaults
  - ^(.*/)?#.*#$
  - ^(.*/)?.*~$
  - ^(.*/)?.*\.py[co]$
  - ^(.*/)?.*/RCS/.*$
  - ^(.*/)?\..*$
还请注意,如果使用静态处理程序,它们将上载到不同的位置。静态文件被发送到CDN,在您的语言运行时不可用(尽管也有解决方法)

请务必阅读以下文档:

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

没有。默认情况下,它会上载所有内容。如另一个回复中所述,您可以使用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
tl;dr:您应该使用
.gcloudignore
文件,而不是
app.yaml
中的
跳过文件

而前面的两个答案使用了
app.yaml
文件中的
skip_文件。现在,在使用
gcloud deploy
upload
命令时,会创建一个
.gcloudignore
。默认值将取决于您正在使用的检测到的语言,但这里是在Python项目中自动创建的
.gcloudignore

# This file specifies files that are *not* uploaded to Google Cloud Platform 
# using gcloud. It follows the same syntax as .gitignore, with the addition of
# "#!include" directives (which insert the entries of the given .gitignore-style
# file at that point).
#
# For more information, run:
#   $ gcloud topic gcloudignore
#
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or files
# from your .gitignore file, remove the corresponding line
# below: 
.git 
.gitignore

# Python pycache:
__pycache__/
注意:如果同时定义了
跳过_文件
,并且存在
.gcloudignore
,则这些命令将不起作用。报告中没有提到这一点

gcloud
命令中采用全球公认的标准似乎更好,采用
.gcloudignore
比使用
skip_文件
更有意义,后者只与没有App Engine的应用程序相关。此外,它的工作原理非常类似于参考文献中提到的
.gitignore
文件:

.gcloudignore的语法大量借用了.gitignore的语法; 看到或忽略一个完整的 参考资料


谢谢。有没有办法
ls
上传哪些文件?所以我可以修改
跳过文件
设置。不确定。他们不断添加功能,我认为云控制台中有一些东西可以让你检查部署的代码,但我从来没有使用过它们。@Chris小心这个例子-它覆盖了
跳过_文件
默认值,这可能会导致问题,请看:附加问题:我使用的是“灵活的环境”。所以我的静态文件被部署到同一个计算实例,而不是CDN,对吗?可以吗?或者我应该采取行动?这包括:相关:也包括: