極限編程中一項(xiàng)建議實(shí)踐便是持續(xù)集成,持續(xù)集成是指在開發(fā)階段,對(duì)項(xiàng)目進(jìn)行持續(xù)性自動(dòng)化編譯、測(cè)試,以達(dá)到控制代碼質(zhì)量的手段。
持續(xù)集成提供了及時(shí)發(fā)現(xiàn)問題、追蹤問題、修復(fù)問題的機(jī)制,他替代了傳統(tǒng)的在所有代碼編寫完畢后才提交QA部門進(jìn)行測(cè)試的方法。
持續(xù)集成對(duì)單元測(cè)試較為依賴,測(cè)試覆蓋率越高,單元測(cè)試越準(zhǔn)確,越能體現(xiàn)持續(xù)集成的效果。持續(xù)集成主要在以下方面提供好處;
1、持續(xù)自動(dòng)化測(cè)試(持續(xù)集成可通過時(shí)間間隔觸發(fā),或其他方式觸發(fā))
2、跟蹤工程健康狀況
3、強(qiáng)制性單元測(cè)試用例,驗(yàn)收測(cè)試用例等
4、靜態(tài)代碼檢測(cè),生成測(cè)試報(bào)告
Hudson是一款輕量級(jí)、易擴(kuò)展、易配置的持續(xù)集成平臺(tái),該集成平臺(tái)maven2有良好的支持,并且擴(kuò)展插件豐富,包括findbug,PMD靜態(tài)分析插件、emma單元測(cè)試覆蓋率插件、junit測(cè)試報(bào)告插件等等。
下面我們以Hudson持續(xù)集成平臺(tái)為例,主要講解怎么安裝hudson和hudson擴(kuò)展插件的使用,并以maven2工程為例,建立新作業(yè)。
下載Hudson的war包,http://hudson-ci.org/ 在tomcat環(huán)境里,在conf\Catalina\localhost 中新建配置文件hudson.xml,配置如下
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="yourPath/hudson.war" path="hudson" reloadable="false">
</Context>
yourPath為hudson.war的目錄路徑。
啟動(dòng)tomcat,訪問http://localhost:8080/hudson便能訪問我們的持續(xù)集成應(yīng)用了。Jboss環(huán)境中,復(fù)制war包到default目錄下即可。如下為安裝好以后的hudson訪問界面。
應(yīng)用搭建好以后,我們按一下步驟操作
一、hudson全局配置信息 hudson配置,比如JDK的安裝目錄、Maven的安裝目錄等、SMTP服務(wù)器和用戶密碼等(用于編譯失敗提醒開發(fā)人員)
進(jìn)入“系統(tǒng)管理”》“系統(tǒng)設(shè)置”,對(duì)maven的安裝目錄、jdk的安裝目錄進(jìn)行設(shè)置,其他保持默認(rèn),如若需要高級(jí)配置,請(qǐng)打開問號(hào)下的提示信息,按照提示開啟相應(yīng)的選項(xiàng)。如下圖為maven和jdk的配置信息。
二、新建任務(wù)和任務(wù)配置 hudson任務(wù)表示一個(gè)持續(xù)集成的項(xiàng)目,任務(wù)配置包括項(xiàng)目版本控制分支、集成任務(wù)觸發(fā)器(何時(shí)觸發(fā)項(xiàng)目集成)
進(jìn)入“新建任務(wù)”,如下圖選擇maven2項(xiàng)目,并輸入任務(wù)名稱
點(diǎn)擊保存后,進(jìn)入任務(wù)“配置”項(xiàng)
任務(wù)配置包括主要的SVN的項(xiàng)目分支配置、項(xiàng)目集成觸發(fā)機(jī)制配置和編譯目標(biāo)配置。配置后如下所示
一個(gè)集成任務(wù)就這樣簡(jiǎn)單的配置好了,目前能持續(xù)的編譯和測(cè)試,在發(fā)現(xiàn)測(cè)試不通過或者編譯不通過的時(shí)候,由郵件發(fā)送給相關(guān)開發(fā)者(需自行配置)。
三、添加插件和運(yùn)用插件 配置一個(gè)任務(wù)后,我們希望hudson不僅可以通過集成發(fā)送測(cè)試報(bào)告、編譯問題,還需要掌握靜態(tài)代碼的分析結(jié)果,比如findbus或pmd的分析結(jié)果,再或則是單元測(cè)試覆蓋率的相應(yīng)報(bào)告。接下來,我們安裝findbus插件。
進(jìn)入“系統(tǒng)管理”》“管理插件”,如下
我們?cè)凇翱蛇x插件”中找到findbugs插件,analysis-core插件,并下載。進(jìn)入高級(jí)選項(xiàng)。上傳并安裝如下:
重啟系統(tǒng),手動(dòng)觸發(fā)集成,我們可以見到最終的集成環(huán)境,包括插件的圖示等,至此,hudson安裝完畢,其中還有部分功能有待大家去研究和使用,插件也豐富多彩。