我目前有两个工作环境:development
本地和production
Heroku。
我想staging
在 Heroku 上添加一个环境,以在将应用程序实时推送给用户之前查看一切是否按预期进行。优选地,staging
环境应该具有与环境完全相同的设置和数据production
。
完成以上步骤需要哪些步骤?
我目前有两个工作环境:development
本地和production
Heroku。
我想staging
在 Heroku 上添加一个环境,以在将应用程序实时推送给用户之前查看一切是否按预期进行。优选地,staging
环境应该具有与环境完全相同的设置和数据production
。
完成以上步骤需要哪些步骤?
首先是倾向,我喜欢将我的 heroku git 遥控器设置为登台和生产,这样您就可以轻松地使用 git push 登台/生产来部署到它们中的每一个。我将使用该设置来解释如何制作登台环境。
config/environments/staging.rb
您将复制的 `config/environments/production.rb'heroku plugins:install git://github.com/ddollar/heroku-config.git
heroku config:pull --remote production
RACK_ENV=staging RAILS_ENV=staging
因此它将使用暂存环境配置。heroku fork -a production staging
(那些是你想要的heroku应用程序名称,而不是生产/登台)您也可以阅读本教程,我想我用它来开始使用 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
的自动管理(并且非常快速)将已编译的 slug 从暂存阶段推送到生产阶段。(假设您通过设置或环境变量具有任何特定于 env 的设置,因此代码段是相同的。)
请注意,根据 Heroku 网站上的以下指南,不建议使用 berislavbabic 解释的过程:https ://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
您可以在那里详细阅读,但建议是保持暂存环境与生产环境相同,并简单地使用 heroku fork 从生产环境复制到暂存环境。