ZEIT NOW 可变秘密
ZEIT NOW variable secrets
我正在寻找一种方法来根据另一个环境变量的值引用一组不同的秘密(环境变量)。
即
if (process.env.STAGE === "test") return config = process.env.TEST_CONFIG
我知道通过自动化 github 部署有 included env variables
但是我该如何正确引用它们呢?例如:
const config = process.env.NOW_GITHUB_COMMIT_REF === 'master' ? prod : dev;
不适合我。
(NOW_GITHUB_COMMIT_REF
:
应用部署时使用的分支。)
我只是从 Spectrum 复制我的答案。
文件夹结构:
config/
dev.json
test.json
prod.json
index.js
api/
search.js
config/index.js
const devConfig = require('../config/dev');
const testConfig = require('../config/test');
const prodConfig = require('../config/prod');
const { NOW_GITHUB_COMMIT_REF } = process.env;
if (NOW_GITHUB_COMMIT_REF === 'test')
return testConfig;
else if (NOW_GITHUB_COMMIT_REF === 'master')
return prodConfig;
else
return devConfig;
api/search.js
const config = require('../config');
在这种情况下,master
分支获取产品配置,test
分支 - 测试配置,所有其他分支 - 开发配置。
我正在寻找一种方法来根据另一个环境变量的值引用一组不同的秘密(环境变量)。
即
if (process.env.STAGE === "test") return config = process.env.TEST_CONFIG
我知道通过自动化 github 部署有 included env variables
但是我该如何正确引用它们呢?例如:
const config = process.env.NOW_GITHUB_COMMIT_REF === 'master' ? prod : dev;
不适合我。
(NOW_GITHUB_COMMIT_REF
:
应用部署时使用的分支。)
我只是从 Spectrum 复制我的答案。
文件夹结构:
config/
dev.json
test.json
prod.json
index.js
api/
search.js
config/index.js
const devConfig = require('../config/dev');
const testConfig = require('../config/test');
const prodConfig = require('../config/prod');
const { NOW_GITHUB_COMMIT_REF } = process.env;
if (NOW_GITHUB_COMMIT_REF === 'test')
return testConfig;
else if (NOW_GITHUB_COMMIT_REF === 'master')
return prodConfig;
else
return devConfig;
api/search.js
const config = require('../config');
在这种情况下,master
分支获取产品配置,test
分支 - 测试配置,所有其他分支 - 开发配置。