是否在ecosystem.config中启用CI秘密变量?

时间:2019-02-21 08:22:26

标签: environment-variables gitlab gitlab-ci-runner

如何在生态系统.config.js中使用秘密变量?

所以这位于我的gitlab-ci.yml文件中。我可以通过“ $ ...”访问秘密变量:

....

- echo "$AWS_SSH_PRIVATE_KEY" | ssh-add -
- ssh-add <(echo "$RUNNER_SSH_PRIVATE_KEY")

  ...
script:
- pm2 deploy ecosystem.config.js production

我的ecosystem.config看起来像这样:

apps: [{
    name: 'test',
    script: './test.js',
    env_production: {
        NODE_ENV: 'production'
    },
    env: {
     "test_ENV": "$MY_SECRET_VARIABLE" // not working
    }
}],

因此,我想设置env变量,以使其可以通过process.env在节点内使用。 我该如何实现?

1 个答案:

答案 0 :(得分:0)

这可能有效!我刚刚找到它,但还没有测试。

https://github.com/icehaunter/pm2-better-deploy

  

添加save_env部署设置配置键。它可以是字符串数组或对象。所有元素都从运行部署命令的环境变量填充,并保存到部署服务器上的配置中。这样可以“传递”环境变量,例如从gitlab运行程序实例到pm2实例的秘密