與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