我可以在 Heroku 暂存中忽略部分代码吗
Can I have part of code ignored in Heroku staging
我想通过将我的应用程序推送到 Heroku 上的登台应用程序来测试它的行为。有一个部分将信息保存到 s3,我希望应用程序在生产时执行,但在暂存测试时跳过。有没有办法做到这一点?我一直在手动评论它,但如果它能自动完成就好了。
如果有帮助,我正在使用 node 和 express。
你可以feature base your code
。只需添加一个环境变量并在您的代码中检查该变量的值。如果值为 true
则执行代码,否则不执行。当我们发布新功能以减少可能的影响时,我们一直在不同的环境中做这些事情。
- 在本地修改您的 .env 以获得这个新变量。
- 将变量添加到 app.json(最佳做法)。这将强制应用程序在启动之前拥有此变量,因此,没有人会忘记添加它。
{
"name": "my app",
"description": "My super app",
"scripts": {},
"env": {
"MY_ENV_VAR": {
"required": true
}
}
3.Check 代码中变量的值:
if (process.env.MY_ENV_VAR === 'true') { //keep in mind these will be strings
//do your logic
}
- 确保环境变量存在于您的 heroku 仪表板应用程序设置中。
此致
我想通过将我的应用程序推送到 Heroku 上的登台应用程序来测试它的行为。有一个部分将信息保存到 s3,我希望应用程序在生产时执行,但在暂存测试时跳过。有没有办法做到这一点?我一直在手动评论它,但如果它能自动完成就好了。 如果有帮助,我正在使用 node 和 express。
你可以feature base your code
。只需添加一个环境变量并在您的代码中检查该变量的值。如果值为 true
则执行代码,否则不执行。当我们发布新功能以减少可能的影响时,我们一直在不同的环境中做这些事情。
- 在本地修改您的 .env 以获得这个新变量。
- 将变量添加到 app.json(最佳做法)。这将强制应用程序在启动之前拥有此变量,因此,没有人会忘记添加它。
{ "name": "my app", "description": "My super app", "scripts": {}, "env": { "MY_ENV_VAR": { "required": true } }
3.Check 代码中变量的值:
if (process.env.MY_ENV_VAR === 'true') { //keep in mind these will be strings
//do your logic
}
- 确保环境变量存在于您的 heroku 仪表板应用程序设置中。
此致