詹金斯我目前使用詹金斯/哈德森。我們爲主幹和每個分支分別開發項目。此外,還有一些與Java代碼相關的項目,但現在對於這些項目的設置相當基本(儘管我們可能會做更多的事情)。在C++項目執行以下操作:buildbot VS持續集成的大型大多是C++項目哈德森/ C++的持續集成
- 構建與是否要重新配置,做一個乾淨的構建,或使用新的結賬
- 可選構建選項的一切,運行所有測試
- 可選擇使用運行所有測試Valgrind的的MEMCHECK
- 奔跑cppcheck
- 生成Doxygen文檔
- 時間表發佈報告:單元測試,Valgrind的,cppcheck,編譯器警告,SLOC,在打開的任務和代碼覆蓋(使用gcov的,GCO VR,和的Cobertura插件)
- 部署代碼夜間或按需到測試環境和一個包庫
一切可配置爲自動構建和可選點播構建。在下面,有一個bash腳本來控制這個,這更多的取決於我們的構建系統,它使用automake和autoconf以及自定義的bash腳本。
我們開始使用哈德森(當時),因爲這是Java的傢伙們使用的是什麼,我們只是想每晚構建。從那以後,我們增加了更多,並繼續增加更多。在某些方面哈德森是偉大的,但肯定不是理想的。
我看其他的解決方案和看起來像它可能是一個更換buildbot唯一的一個。這種情況會更好嗎?自從我們已經使用Hudson以來,投資是否值得?爲什麼?
編輯:有人問我爲什麼沒有發現哈德森/詹金斯是理想的。簡而言之,一切都可以改善。我只是想知道,如果詹金斯是我用例的最佳解決方案,或者是否有更好的東西(buildbot?),那麼即使出現新的需求,從長遠來看也會更容易維護。
我沒有看過Buildbot,但我們幾乎做了你提到的關於Hudson上的多個C++項目的所有事情。你從哈德森/詹金斯看到什麼樣的非理想事物? – 2011-04-13 18:21:09
@Soo Wei Tan:看我的編輯。 – deuberger 2011-04-13 20:52:02
迄今爲止,Jenkins/Hudson一直很滿意。我們還沒有真正遇到任何我們認爲不足或缺乏的情況。 – 2011-04-14 00:24:45