【问题标题】:Rails 3: HEROKU staging and production repo managmentRails 3:HEROKU 暂存和生产仓库管理
【发布时间】:2011-09-22 10:30:38
【问题描述】:

根据他们的文档,我已将我的应用程序设置为在 Heroku 上运行,并提供暂存和生产环境。 http://devcenter.heroku.com/articles/multiple-environments

使用 staging 应用程序进行管理似乎非常简单,将整个部署或新分支推送到 staging 中进行测试。我想知道的是如何管理生产版本。

在部署新代码时如何保持生产正常运行?我是从暂存中提取更改,还是重新部署整个应用程序并合并更改?

其次,在所有这些过程中,我如何管理和保持我的数据库完好无损?我习惯于在本地运行,如果你进行新的部署和新的 rake :db:migrate,你会丢失所有的数据库数据。在生产中如何做到这一点才不会丢失您的记录?

感谢您,欢迎提供有关 heroku 管理的任何其他提示。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 heroku


    【解决方案1】:

    通常,您在本地进行更改,包括迁移或其他。在将更改推送到生产应用程序之前,将更改推送到暂存应用程序以仔细检查一切是否正常。

    如果您在更改中添加了迁移,请务必运行 heroku run rake db:migrate 来迁移您的暂存数据库。运行 rake db:migrate 应该破坏任何数据,只要您的迁移是正确的 - 即没有奇怪的数据篡改,只是标准的添加/重命名/等。列或引入新表。 (很明显,如果你在迁移中删除了一个表,它就会消失。)

    然后,如果您的暂存应用程序一切正常,请将更改推送到您的生产环境,如果您有任何新的迁移,请再次运行 heroku run rake db:migrate。如果事情不正常,请运行 heroku help 以获取您可以使用的命令列表 - 特别是与版本有关的命令,以便您可以恢复到以前的版本。另外heroku logs 非常有用,heroku console(实际命令可能略有不同),不过当你启动控制台时,要非常小心,不要过多地篡改数据。

    使用 Heroku,不需要部署命令 - 就在您 git push 时,您的更新代码就在那里。如果您以前使用过 capistrano,则无需使用 capistrano 进行“cap deploy”。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多