我是新來構建自動化和持續集成,但已對此主題進行了廣泛的研究。適用於Visual Studio的現代構建工具MSBuild
第一個問題:假設我有一個非託管的Visual C++ .sln文件,並且可以使用MsBuild構建它,我應該選擇哪個現代構建工具,這使我可以輕鬆地執行構建前/構建步驟?
我不希望像Ant,Nant這樣的「老」構建工具,使其XML混亂。我想要一些可以讓我自由表達我想以人類可讀的方式做什麼的東西。根據我的研究,似乎Waf,Scons和Rake可能適合這項法案。
我的環境的背景: 我的源代碼管理是Subversion。 我的單元測試框架是GoogleTest,它生成JUnit兼容的XML文件。 我爲我的追蹤工具選擇了JIRA。 我選擇了TeamCity作爲我的CI服務器。 我使用Visual Build來構建我的.sln文件。
我希望能夠(從我的CI服務器調用)編寫一個簡單的構建腳本,將:
1)創建一個CI服務器工作區目錄。
2)查看SVN代碼。 (我的回購站設置爲使用svn:externals從我的其他存儲庫中提取依賴關係)
3)運行Visual Build構建文件以在.sln中構建所有項目/平臺組合。
4)運行靜態代碼分析/動態代碼分析工具
5)的MSBuild收集結果(編譯是否失敗,靜態/動態代碼分析警告或單元測試失敗,等等),用於CI服務器
6)CI服務器日誌這並且將它鏈接到JIRA。
使用MSBuild和C++項目確實是一團糟,因爲.vcproj不是像.csproj這樣的本機MSBuild格式,而是由MSBuild以特殊方式處理。 – mmmmmmmm 2009-04-16 20:20:23