如何在使用Git + Heroku(Ruby on Rails)的项目中实现良好的部署策略?
目前,我使用我的Git仓库的方式是:所有功能(或“故事”)首先作为分支检出,然后与主分支合并并推送到远程仓库。
任何推送到远程仓库/主分支的更新都会触发一个脚本,将新的Rails代码拉取到暂存区(简单的Rails Web服务器)。
当我需要将新的生产版本推送到Heroku时,我应该创建一个新的分支(例如production_version_121),并将其推送到Heroku吗?
理想情况下,我希望能够挑选以前开发版本中要包含在生产分支中的功能,进行测试,并将其推送到Heroku。
例如,我可能不希望将所有最新的代码都推送到生产环境。我可能希望将我已经开发完成并合并到主分支中的功能“a”和功能“c”推送到生产环境中,而不包括需要更多调试的实验性功能“b”。
注意:我首先尝试避免使用Capistrano,暂时手动进行部署。
有什么想法?最佳实践?