我目前有两个工作环境:本地的development和Heroku上的production。
我想在Heroku上添加一个staging环境,看看在将应用程序实时推送给用户之前,一切都按预期进行。优选地,staging环境应该具有与production环境完全相同的设置和数据。
完成上述任务需要哪些步骤?
发布于 2013-10-13 19:21:19
首先是预置,我喜欢将我的heroku git遥控器设置为暂存和生产,这样您就可以轻松地使用git推送暂存/生产来部署到其中的每一个。我将使用该设置来解释如何创建登台环境。
config/environments/staging.rb,您可以将其复制下来作为临时数据库的database.yml条目( heroku实际上并不需要,但也不会有什么坏处)RACK_ENV=staging RAILS_ENV=staging因此它将使用带有推送的heroku环境的登台环境(这些是您想要的heroku应用程序名,而不是production/staging)您也可以阅读本教程,我想我是用它来开始在heroku上使用多个环境的:https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
发布于 2014-01-05 09:49:06
我发现heroku fork -a PRODUCTION_APP_NAME NEW_STAGE_APP_NAME是一种更快、更简单的方法。它创建新的应用程序,复制所有内容(包括postgres数据库)。然后,当有意义时,我手动将插件降级为较小的计划(例如,入门级数据库)。
事实上,我们开始使用相对较新的heroku pipeline:promote来自动(并且非常快速地)将编译后的插件从试运行推送到生产环境。(假设您通过设置或环境变量设置了任何特定于环境的设置,因此代码段是相同的。)
发布于 2014-06-10 13:58:17
请注意,根据Heroku网站上的以下指南,不建议使用berislavbabic解释的过程:https://devcenter.heroku.com/articles/multiple-environments#managing-staging-and-production-configurations
您可以在那里详细阅读,但建议您保持登台环境与生产环境相同,并简单地使用heroku fork从生产环境复制到登台环境。
https://stackoverflow.com/questions/19344267
复制相似问题