Deployment 专业rails 3.2+;部署到Heroku

Deployment 专业rails 3.2+;部署到Heroku,deployment,heroku,automation,ruby-on-rails-3.2,Deployment,Heroku,Automation,Ruby On Rails 3.2,我试图为Heroku建立一套专业的部署方法,我的意思是: 通过保持部署规模小且频繁(迭代/敏捷方法),最大限度地减少停机时间 尽可能地自动化,这样我就不必担心过多的指法或运行可能具有破坏性的命令,因为我没有正确地思考(例如,在生产系统上“heroku run rake db:reset”) 允许进行简单的版本控制,以便我可以轻松(立即)将生产系统回滚到以前的版本,如果发生错误,该版本可以正常工作 首先建立一个尽可能模仿生产系统的测试环境 确保在出现错误时备份数据库 由于capistrano不

我试图为Heroku建立一套专业的部署方法,我的意思是:

  • 通过保持部署规模小且频繁(迭代/敏捷方法),最大限度地减少停机时间
  • 尽可能地自动化,这样我就不必担心过多的指法或运行可能具有破坏性的命令,因为我没有正确地思考(例如,在生产系统上“heroku run rake db:reset”)
  • 允许进行简单的版本控制,以便我可以轻松(立即)将生产系统回滚到以前的版本,如果发生错误,该版本可以正常工作
  • 首先建立一个尽可能模仿生产系统的测试环境
  • 确保在出现错误时备份数据库
由于capistrano不适合Heroku,我的想法是,接下来最好的事情是编写一个ruby脚本,为我处理所有自动部署。我见过有人为此使用rake任务,但我不认为rake真的适合这种功能。纯ruby脚本是rake任务的首选替代方案吗

部署到heroku非常简单,但为了使其专业化(即,用户不会获得错误页面),我需要将其自动化以补偿人为错误。而且必须一直输入“gitpusherokumaster”、“herokurundb:migrate”也有点过时了

我正试图将其归结为一行部署,但迄今为止还没有看到任何关于Heroku的有用教程或真正实现这一点的教程

我可以自己编写部署脚本代码,但我不知道最好的长期实践是什么:rake任务、ruby脚本还是我没有找到的第三方实用程序

我肯定有很多专业开发团队使用rails和Heroku,但我还没有看到他们如何实现部署过程的细节


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

为了避免胖手指和意外的致命打字错误,请使用具有独特调用的脚本,如./deploy heroku

过去两年-

  • 我使用完全相同的设置部署到服务器(也在heroku上运行)。这样,我就有了一个测试服务器来测试我的所有脚本、加载、数据库等。我将它部署在生产环境中,而不是临时环境中
  • 对于备份,请使用heroku加载项-pg:backups。您可以免费获得每日备份