【发布时间】:2020-03-05 08:28:05
【问题描述】:
我有 2 个类似这样的 package.json 脚本:
"start": "next start -p $PORT",
"pm2_staging": "pm2 restart ecosystem.config.js --env staging",
还有一个看起来像这样的ecosystem.config.js:
module.exports = {
apps: [
{
name: 'test.co.uk',
script: 'npm',
args: 'start',
env_staging: {
API: 'staging',
NODE_ENV: 'production',
PORT: 3001,
},
},
],
};
然后我运行以下命令:
TEST_VAR='test' npm run pm2_staging
我预计会发生以下情况:
- PM2 重启命令触发
-
ecosystem.config.js触发npm start命令并设置一些环境变量 - 应用启动并且所有环境变量都可用,包括
TEST_VAR(在原始命令中设置)
实际发生的情况是生态系统中的所有环境变量都已正确设置,但 TEST_VAR 在应用程序中不可用。为什么会这样?如果我不能从 CI 工具设置密钥,我该如何设置?
【问题讨论】: