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 分支 - 测试配置,所有其他分支 - 开发配置。