2010-12-20 78 views
3

我知道這個話題已經有很多問題了,但是我很難找到我需要的東西。小團隊的Git工作流程

我們是一個小團隊的開發人員,目前正在使用SVN,但很快就要切換到Git。我們習慣於檢查變化並全天推送到現場網站,但目前缺乏任何正式的測試程序,這是我們想要補充的。我已經習慣了使用SVN這樣做的方法是:

  • 在個人測試環境中開發
  • 檢查你的變化
  • 當前庫文件發送到全球(生產等)的測試Web服務器和測試
  • 當前庫文件發送到Web服務器直播

這顯然可以創造一些問題,特別是通信不好。我經歷過未經測試的變化已經過的時代,這是我們一定要避免的。

我在設想的是一個主Git存儲庫,它包含在活動服務器上運行的測試代碼。然後獲得用於測試修訂版的存儲庫的克隆。我希望有一個腳本負責從請求的開發人員處提取更改,將其放入測試存儲庫的分支中,並運行一些自動測試以確保沒有重大事件被破壞。當這一切都結束時,該分支可以合併並推送給主服務器併發送到實時服務器。

我想聽聽關於這個可能的工作流程的任何意見和任何改進建議或如何改變它。此外,如何設置這些的任何細節也將不勝感激。謝謝!

編輯:我已經使用上述方法一段時間了,它的工作得很好。

回答

2

你真的需要一個單獨的存儲庫嗎?您的實時代碼只是一個分支;您可以使用其他分支機構進行測試中的「部署候選人」。

您不一定需要一個腳本來完成更改 - 開發人員可以將它們推送到單獨的分支,然後調用腳本來測試該分支。

+0

是啊,我已經想過這一點。這種方法不會在存儲庫中創建大量分支嗎?我想保持主存儲庫儘可能乾淨。我也應該注意到,我對Git的使用非常有限。大量的分支可能不是什麼大不了的事情,但是開發人員試圖維護它們並知道它們使用的是什麼。 – kbosak 2010-12-20 18:15:30

1

您是否考慮過代碼審查? Gerrit可能會有所幫助。
(爲你所得到的功能的想法見Android's Gerrit instance

然後,您可以建立一個測試環境,將拉更改或裁判組更改/爲/主到測試服務器。

這在我的腦海裏很模糊,但也許你會發現它是一個有用的指針。