【问题标题】:Professional rails 3.2+ deployment to Heroku专业 rails 3.2+ 部署到 Heroku
【发布时间】:2012-12-16 16:02:33
【问题描述】:

我正在尝试为 Heroku 建立一种专业的部署方法,我的意思是:

  • 通过保持小而频繁的部署(迭代/敏捷方法)最大限度地减少停机时间
  • 尽可能自动化,这样我就不必担心胖手指或运行具有潜在破坏性的命令,因为我没有正确思考(即,生产系统上的“heroku run rake db:reset”)
  • 允许进行简单的版本控制,这样我就可以轻松(并立即)将生产系统回滚到以前的版本,以便在发生错误时工作
  • 首先建立一个尽可能模仿生产系统的测试环境
  • 确保备份数据库以防出错

由于 capistrano 不适合 Heroku,我的想法是编写一个 ruby​​ 脚本来处理我的所有自动化部署。根据https://gist.github.com/362873,我见过有人为此使用 rake 任务,但我不认为 rake 真的是为这种类型的功能而设计的。纯 ruby​​ 脚本会是 rake 任务的首选替代方案吗?

部署到heroku 非常简单,但是为了使其更专业(即,用户不会收到错误页面),我需要将其自动化以弥补人为错误。而且一直输入“git push heroku master”、“heroku run db:migrate”有点老了。

我正在尝试将其简化为单线部署,但到目前为止,还没有真正看到任何关于 Heroku 或 SO 的有用教程可以真正实现这一点。

我对实际编写自己的部署脚本代码很好,我只是对最佳的长期实践感到困惑:rake 任务、ruby 脚本或一些我还没有找到的第 3 方实用程序。

我确信有许多专业开发团队使用 Rails 和 Heroku,但我还没有看到他们如何实施部署过程的细节。

我通常自己做很多开发,然后其他成员处理部署,但现在我也在尝试学习部署方面。

【问题讨论】:

    标签: deployment heroku automation ruby-on-rails-3.2


    【解决方案1】:

    为避免粗手指和意外致命的拼写错误,请使用具有独特调用的脚本,例如 ./deploy-heroku

    最后2个-

    • 我部署到具有完全相同设置的服务器(也在 heroku 上运行)。这样我就有了一个测试服务器来测试我的所有脚本、加载、数据库等。我将它部署在生产而不是暂存。
    • 用于备份 - 使用 heroku 插件 - pg:backups。免费获得每日备份

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 2020-01-06
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2023-03-31
      相关资源
      最近更新 更多