访问Travis安全环境变量Node.js/PostgreSQL



我有一个数据库uri,我想在travis-yml文件中保护它。我遵循travis文档加密以下环境变量:PROD_DB_URI=MY_DB_URI

然后,我将实际数据库文件中的URI替换为我期望访问的新环境变量

这是我添加它的地方:

const Sequelize = require('sequelize');
let privateKey;
if (process.env.PROD_DB_URI) {
 privateKey = process.env.PROD_DB_URI;
} else {
 privateKey = require('./../../testingKeys.js').dbKey;
}
const DB = new Sequelize(privateKey);

我的travis yml文件如下:

language: node_js
 node_js:
 - '4'
 env:
   global:
   - CXX=g++-4.8
   - secure: s6/R8v6Nxe8Vw0gnge+0/...
 addons:
   apt:
     sources:
     - ubuntu-toolchain-r-test
     packages:
     - g++-4.8
 after_success: npm run coverage

我尝试运行travis,但它看不到加密的PROD_DB_URI变量,并表示它未定义。我甚至查看了travis日志,当它导出环境变量时,它不会显示解密的变量。日志显示:

Setting environment variables from .travis.yml
$ export CXX=g++-4.8

没有导出其他变量。我还检查了process.env.TRAVIS_SECURE_env_ARS是否返回true,事实确实如此。

我还在travis文档中看到,您还可以在其面板中添加环境变量。我在仪表板中添加了键值对PROD_DB_URI=MY_DB_URI。Travis再次表示其未定义。

有什么东西我遗漏了吗?我是否未正确访问安全环境变量?

有关更多信息,请参阅此链接。


.travis.yml文件中添加:

env:
- PROD_DB_URI=$PROD_DB_URI

应将PROD_DB_URI设置为travis 中的环境变量

相关内容

  • 没有找到相关文章

最新更新