与Git + Heroku(Ruby on Rails)配合使用的良好部署策略是什么?使用分支策略与Heroku的良好Git部署?
目前我的工作方式是使用我的起源Git存储库:所有功能(或'故事')首先作为分支签出,然后与主合并并推送到原点。
任何推送到origin/master的内容都会触发一个脚本,将新的rails代码拖到临时区域(简单的rails webserver)。
当我需要将一个新的生产版本推送到Heroku时,我应该创建一个新的分支(称为类似production_version_121的东西),然后以某种方式将它推向Heroku?
理想情况下,我想选择以前的开发版本中的哪些功能,我应该将其包含到生产分支中...测试它,然后推送到Heroku。
例如,我可能不希望所有最新的代码被推到生产中。我可能想要功能“a”,我已经工作,功能“c”都以某种方式合并到生产中,而不包括需要更多调试的实验功能“b”。
N.B.我将首先尝试避免使用Capistrano,然后为现在手动获取某些内容。
想法?最佳实践?
谢谢大卫!我很好奇,如果有人这样做。对,我是我只是用我的远程“主”作为生产..所以部署我只是继续做:git push heroku(当时间到来) 问题是,我还没有我想要的功能选择包括在生产部署中......我预计需要出现,在这种情况下,我将不得不在远程git服务器上启动合法的“生产”分支。下次我尝试使用:git push heroku production:master我认为它会抱怨,我需要使用“force”标志,以便heroku抛弃它跟踪的内容。 – Zaqintosh 2009-11-18 18:58:58
我唯一的问题是,你是否在使用远程主机进行任何操作?或者你在分支机构工作,并在100%的时间内部署/合并分支机构? – Zaqintosh 2009-11-18 19:00:15
是否需要强制取决于“生产”是否是远程主服务器当前存在的直接后代。 Gemcutter使用“主”分支作为主干。这是所有最新变化的地方。特征分支被创建,然后被合并回主干。有时候,个别提交或特征分支会合并到生产分支中,如果我们想要所有分支,有时候master会直接合并。 – 2009-11-19 18:41:38