Google cloud storage 如何从gcloud中的部署中排除文件?
我已经构建了一个Node.js应用程序,我要做的是将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
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