Google cloud storage 如何从gcloud中的部署中排除文件?

Google cloud storage 如何从gcloud中的部署中排除文件?,google-cloud-storage,google-cloud-platform,gcloud,Google Cloud Storage,Google Cloud Platform,Gcloud,我已经构建了一个Node.js应用程序,我要做的是将cd部署到我的项目目录中,然后运行gcloud preview app deploy。这是可行的,但在文件中我还有一个JSON文件,它的作用类似于我的应用程序的数据库,我不希望在部署时在站点上更新它。我似乎找不到任何办法来做这件事。如果无法远程查看JSON文件并将其数据复制到本地文件,然后部署所有内容,这对我也有好处,但我似乎也无法做到这一点。我相信您会希望在app.yaml中使用该指令来排除不希望部署的路径或文件 比如: skip_files

我已经构建了一个Node.js应用程序,我要做的是将
cd
部署到我的项目目录中,然后运行
gcloud preview app deploy
。这是可行的,但在文件中我还有一个JSON文件,它的作用类似于我的应用程序的数据库,我不希望在部署时在站点上更新它。我似乎找不到任何办法来做这件事。如果无法远程查看JSON文件并将其数据复制到本地文件,然后部署所有内容,这对我也有好处,但我似乎也无法做到这一点。

我相信您会希望在app.yaml中使用该指令来排除不希望部署的路径或文件

比如:

skip_files:
  - ^your_data_dir/.*\.json?

app.yaml中有skip_files指令,用于排除不希望部署的路径或文件

但是,如果您正在处理node.js项目,则必须使用
.gcloudignore
文件,该文件将指定要排除的目录

此.gcloudignore将阻止上载节点_模块/目录和以~结尾的任何文件:

参考文件:
1.

2.(搜索“跳过文件”)

在这种情况下,
.gcloudignore
文件会阻止上传任何文件或目录。语法与
.gitignore
文件相同

首先,您可以确保启用了
gcloudignore

gcloud配置列表
如果不是,则您可以启用它:

gcloud配置设置gcloudignore/enabled true
一些
gcloud
命令,如
gcloud函数deploy
可能会自动生成
.gcloudignore
文件


.gcloudignore
文件必须位于项目根文件夹中

以下是由
gcloud函数deploy
命令自动生成的
.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

node_modules
对于具有以下结构的NodeJS项目,这对我来说非常有效:

~/Workspace/my project$tree-a
.
├── .主意
│   ├── func-project.iml
│   ├── misc.xml
│   ├── modules.xml
│   ├── vcs.xml
│   └── workspace.xml
├── .gcloudignore
├── index.js
├── package-lock.json
└── package.json
在这种情况下,不带
.gcloudignore
这就是部署的内容:

使用以下
.gcloudignore

.gcloudignore
.git
.gitignore
.idea
node_modules
package-lock.json
这就是部署的内容:


请参阅。

实际上,
skip_files
链接指向Python 2.7文档;Python3版本说这个选项“Python3.7不支持”,节点文档甚至没有列出它。如另一个答案中所述,应改用
.gcloudignore
文件。如果未设置
gcloudignore/enabled
配置,则默认情况下尊重
.gcloudignore
文件,因此无需显式启用它。参见@KlemensZleptnig是的,我在我的帖子末尾有同样的文档。虽然默认情况下会对其进行计算,但可以禁用它。这就是我建议检查启用标志状态的原因。我只是想澄清一下,它的默认值是
true
(因为对于像我这样的一些人来说,如果从未设置过,它可能不会包含在
gcloud config list
的输出中)。
.gcloudignore
.git
.gitignore
.idea
node_modules
package-lock.json