使用capistrano和git的强大部署策略

时间:2011-03-10 17:19:59

标签: ruby-on-rails ruby capistrano git-branch git-tag

为允许以下情况的RoR应用程序设置强大的部署策略的最佳方法是什么?

  1. 新功能已提交
  2. 部署到登台环境的新功能
  3. 紧急功能/修复已提交
  4. 部署到分段的紧急修复程序(以及之前的功能已排除)
  5. 紧急修复测试分期
  6. 部署到生产的紧急修复
  7. 原始新功能部署回登台
  8. 据我所知,我需要使用git branches或tagging或两者兼而有之。是否有任何工具可以减少或自动化维护这些分支或标签的开销?

1 个答案:

答案 0 :(得分:0)

我不确定有没有。对于我而言,这不仅仅是一个技术性的问题,而是一个过程问题。

标记和分支,使用主题(或功能)分支通常是要走的路。我倾向于保留两个长寿分支,主和分段,并且我使用主题分支进行所有开发。长期分支机构是唯一用于部署到各自环境的分支机构,紧急修复程序由 git revert 处理,然后是 cap deploy ,然后是主题分支中的修复程序然后将其合并到紧急事件发生的任何长寿分支中。

希望这有帮助。