Report功能和統計
上述各家CI SERVER都提供了Report的功能和統計的功能,在這個領域里,Hudson毫無懸念的是支持報告類型最多,最全的(誰叫咱OpenSource呢,有的是人開發)。Bamboo屬于支持報告類型最少的,不過也有很多第三方的plugin供選擇。我們所關心的幾個reports都有被各家支持,其中QuickBuild的report給我的感覺最華麗,不過好像是參考google analytics來的,從界面上看和analytics簡直就是一個翻版。在使用上,QuickBuild和TeamCity的最方便,直接點報告中的鏈接就可以作一些過濾。在統計信息方面,各家對tests的統計都非常完備,這也從一個側面反應出test driven現在那是深入人心啊。在支持Test Driven方面,TeamCity是力拔頭籌,得益于開發IntelliJ的經驗,TeamCity不僅可以自動尋找出項目中的unit tests(你不用在Ant腳本里調用junit task,或者在Maven里調用surefire),而且對于上次運行失敗的test cases,它可以在下次build中自動先運行,這樣就可以避免一個build運行了很久才發現上次失敗的test還沒有被更正過來呢,強!
另外,要提一下的是QuickBuild中那個Build的Dashboard我非常喜歡,對于一個項目當前的狀況可以一目了然,有多少個tests成功了,多少失敗了,多少被fix了,多少還沒有fix,總之,信息很豐富,不過就是配置起來有點復雜,需要我去一個報告一個報告去加step,如果能做到TeamCity的程度,簡直就是完美了。對于其它的CI Server則是亮點不多(其實也很強,只不過是對比而言,我覺得TeamCity和QuickBuild更強,更好)。
與第三方工具的集成
在與第三方工具的集成中,Hudson遙遙領先,是所有CI Server里Plugin最多的??梢院虵aceBook,Google Calendar,Twitter,反正基本上你能想到的,它都有。不過對于我們而言,好多Plugin沒有太大的價值。Bamboo在與它自己的幾個產品中集成度也非常好,比如說Jira,Wiki,Clover等。這幾個我們公司都有用到,在這點上非常理想。
價格
不得不考慮一下價格的因素,好像記得有人說過,Price is nothing, but price is everything,尤其在這個金融危機的年代里。這點,勿庸置疑,OpenSource永遠是最好的。而在商用的這幾個里QuickBuild最便宜,它使用的是Site License,一個Site收$2999,AntHill最貴,我詢問了一下,按我的配置,隨便搞搞就要$10000了,TeamCity的入門也很便宜,$1999帶3個agents,可是針對我們的情況,算了一下也要上$8000了(它是按agent收費的),Bamboo也很貴,按照它的功能而言,我覺得性價比不是很好。
總結
綜合各方面因素的考慮,我們最終選擇了QuickBuild,雖然這個產品名聲不是很大,不過想想它的客戶中,不乏象Cisco,HP這樣級別的公司,應該還是可以值得信賴的吧。另外就是我們使用下來覺得它還是擁有諸多亮點,對于我們的統一管理來說,可謂是方便至極。另外價格方面考慮也很不錯。當然如果你的團隊不是很大,那么選擇QuickBuild的Community Edition和TeamCity的Professional Edition都是非常值得的,這兩者都是免費的,而且QuickBuild的Community Edition功能沒有任何裁剪,只是限制了一下configuration的數目,非常適合要求比較高而項目不是很多的團隊。
好了,有太多太多需要討論的東西了,CI這個領域現在還處于高速發展階段,本文純屬探討,歡迎大家拍磚。由于時間有限,對每個產品了解的不是很深入,錯誤在所難免,如果我有什么地方不是很準確,也歡迎告訴我。