我們的源代碼存儲在Kiln/Mercurial存儲庫中;我們使用MSBuild來構建我們的產品,並且我們有使用MSTest(Visual Studio單元測試)的單元測試。針對Mercurial/Kiln + MSBuild + MSTest的持續集成建議
實現持續集成機器(即構建機器)有哪些解決方案。
對此的要求是:
- 一個構建應該被踢出必要時
- 實際構建,源的最新版本之前(即代碼中,我們關心的庫已經變化了)代碼必須從我們從
- 建庫中獲得的構建必須建立在整個產品
- 構建必須建立所有的單元測試
- 構建必須執行所有單元測試
- 構建完成後必須發送成功/失敗摘要;這必須包含關於構建本身的信息,但也包括關於哪些單元測試失敗以及哪些成功的信息。
- 摘要必須包含其中的變更是在此版本尚不是在以前成功(!)建立
- 系統必須配置的,因此它可以從多個分支(/庫)建設。
理想情況下,該系統可以在沒有任何服務器組件的情況下在單個盒子上運行(我們的產品並不那麼大)。
目前有哪些解決方案可用?他們有什麼優點/缺點?從上面的列表中,可以做什麼和不能做什麼?
感謝
我放棄了CruiseControl for TeamCity,我的整個團隊都非常滿意這個變化。我們在項目中使用MSBuild腳本,在測試中使用NUnit。我們主要開發C++和C#應用程序 – T33C 2011-01-13 13:49:02