我可以在Heroku升级中忽略部分代码吗?

时间:2018-03-12 23:48:58

标签: node.js express heroku staging

我想通过将其推送到Heroku上的暂存应用来测试我的应用的行为。有一个部分可以将信息保存到s3,我希望应用程序在生产中执行,但在分阶段测试时跳过。有没有办法做到这一点?我已经手动对其进行评论,但如果可以自动进行评论,那就太好了。 如果有帮助的话,我使用node和express。

1 个答案:

答案 0 :(得分:0)

你可以feature base your code。只需添加一个环境变量并检查代码中该变量的值。如果值为true则执行代码,否则,请执行代码。当我们发布新功能以减少可能的影响时,我们会在不同环境中始终执行这些操作。

  1. 在本地修改.env以获得此新变量。
  2. 将您的变量添加到app.json(最佳做法)。这将强制应用程序在启动之前拥有此变量,因此,没有人会忘记添加它。 { "name": "my app", "description": "My super app", "scripts": {}, "env": { "MY_ENV_VAR": { "required": true } }
  3. 3.检查代码中变量的值:

    if (process.env.MY_ENV_VAR === 'true') { //keep in mind these will be strings //do your logic }

    1. 确保您的heroku仪表板应用程序设置中存在env var。
    2. 此致