我目前有两个工作环境:本地开发环境(development)
和Heroku生产环境(production)
。
我想在Heroku上添加一个暂存(staging)
环境,以便在将应用程序推送给用户之前查看所有内容是否如预期。最好是,暂存(staging)
环境应具有与生产(production)
环境完全相同的设置和数据。
要完成以上操作,需要哪些步骤?
我目前有两个工作环境:本地开发环境(development)
和Heroku生产环境(production)
。
我想在Heroku上添加一个暂存(staging)
环境,以便在将应用程序推送给用户之前查看所有内容是否如预期。最好是,暂存(staging)
环境应具有与生产(production)
环境完全相同的设置和数据。
要完成以上操作,需要哪些步骤?
首先是设置偏好,我喜欢将我的Heroku Git远程设置为staging和production,这样您就可以轻松使用git push staging/production将其部署到每个环境中。我将使用此设置来解释如何创建staging环境。
RACK_ENV=staging RAILS_ENV=staging
,这样它将使用staging环境配置。您还可以阅读这篇教程,我认为我用它来开始在Heroku上使用多个环境: https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
heroku fork -a PRODUCTION_APP_NAME NEW_STAGE_APP_NAME
是更快、更简便的做法...它创建了一个新的应用程序,并复制了一切内容(包括postgres数据库)。然后,当有必要时(例如对于起始层次的数据库),我手动降级附加组件。
实际上,我们开始使用相对较新的heroku pipeline:promote
自动管理(并非常快地)将编译好的代码从staging推送到production。(这假设您在设置或环境变量中具有任何特定于环境的设置,因此代码标记相同。)
config:pull
不是 heroku 命令的错误提示。几天前,我在 Mac 上下载了 Heroku Toolbelt/3.2.1 (x86_64-darwin10.8.0) ruby/1.9.3。 - jpw