我正在使用nconf探索GAE,我想知道在部署应用程序后是否保护了以下设置。
我关注的是我的“config.dev.json”和“config.prod.json”文件,尽管它们包含在“.gitignore”中。
在我这样做之后,我不确定传递给gae的信息(我不希望我的配置键暴露):
$ git add .
$ git commit -m 'Commiting'
$ glcoud app deploy
我的节点应用程序结构如下所示:
- /myProject
- /node_modules
- .gitignore
- app.js
- app.yaml
- config.js
- keys.dev.json
- keys.prod.json
- package-lock.json
- package.json
// .gitignore
node_modules
keys.dev.json
keys.prod.json
// config.js:
const nconf = require("nconf");
nconf.argv().env();
if (nconf.get("NODE_ENV") === "production") {
nconf.file("keys.prod.json");
} else {
nconf.file("keys.dev.json");
}
...
答案 0 :(得分:2)
在.gitignore
中包含文件对GAE上的部署没有任何影响,该文件仅由git
使用。
如果您想阻止将文件部署到GAE,则需要使用skip_files
文件General settings中的app.yaml
选项:
<强> skip_files 强>
可选。 skip_files 元素指定了哪些文件 应用程序目录不会上传到App Engine。价值 是正则表达式,还是正则表达式列表。任何 与任何正则表达式匹配的文件名将被省略 上传应用程序时要上传的文件列表。
例如,要跳过名称以 .bak 结尾的文件,请添加 skip_files 部分如下:
skip_files: - ^(.*/)?\.bak$
附注:
gcloud app deploy
命令的--verbosity
选项在部署期间看到它们显示。