【问题标题】:How to manage DEV and PROD deployment on Heroku with Node.js如何使用 Node.js 在 Heroku 上管理 DEV 和 PROD 部署
【发布时间】:2018-03-29 09:54:05
【问题描述】:

我将 Heroku 与 Node.js 和 Git 作为版本管理器一起使用。

只要我想修改我的生产代码,我就会创建一个新分支。

我希望能够在 DEV 模式下部署这个分支(例如使用不同的配置文件,使用不同的 DB 地址),并且当我合并时能够在 PROD 模式下部署。

知道如何以简单的方式进行管理吗?

【问题讨论】:

    标签: node.js heroku heroku-cli


    【解决方案1】:

    这是一种可能的解决方案:

    从 SO.org 标记中,我想您使用的是 Node.js。对于配置处理,有一个很棒的库https://github.com/lorenwest/node-config,它使多环境配置处理变得容易。以下是可能的环境 config/test.jsconfig/development.jsconfig/staging.js。要在环境之间切换,请更改 env 变量 NODE_ENV=staging。不要让你的秘密脱离版本控制,你可以设置 NODE_CONFIG 变量来覆盖默认设置https://github.com/lorenwest/node-config/wiki/Environment-Variables#node_config

    Heroku 使用管道使部署变得非常容易,建议在此处阅读更多内容 https://devcenter.heroku.com/articles/pipelines#multiple-apps-in-a-pipeline-stage。创建具有两个阶段的新管道:登台和生产。手动或通过一些 CI 工具(CircleCI、Jenkins 等)将您的应用程序部署到暂存。当您准备好进入生产环境时,您无需完成所有构建/安装过程,只需将暂存构建提升到生产环境即可。

    【讨论】:

    • Heroku 管道的一个潜在问题是只有 slug 从登台升级到生产,这意味着如果您使用任何特定于环境的变量(想想应用程序 url 或数据库配置),vars 不会升级到生产时进行更新。因此可能会使您的生产应用程序指向错误的数据库或 URL 等。
    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2014-05-31
    • 2017-06-27
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多