極限編程中一項建議實踐即是持續集成,持續集成是指在開發階段,對項目進行持續性自動化編譯、測試,以達到控制代碼質量的手段。 持續集成提供了及時發現問題、追蹤問題、修復問題的機制,他替代了傳統的在全部代碼編寫完畢後才提交QA部門進行測試的方法。 持續集成對單元測試較爲依賴,測試覆蓋率越高,單元測試越準確,越能體現持續集成的效果。持續集成主要在如下方面提供好處;
一、持續自動化測試(持續集成可經過時間間隔觸發,或其餘方式觸發) 二、跟蹤工程健康情況 三、強制性單元測試用例,驗收測試用例等 四、靜態代碼檢測,生成測試報告
Hudson是一款輕量級、易擴展、易配置的持續集成平臺,該集成平臺maven2有良好的支持,而且擴展插件豐富,包括findbug,PMD靜態分析插件、emma單元測試覆蓋率插件、junit測試報告插件等等。
下面咱們以Hudson持續集成平臺爲例,主要講解怎麼安裝hudson和hudson擴展插件的使用,並以maven2工程爲例,創建新做業。
下載Hudson的war包,http://hudson-ci.org/ 在tomcat環境裏,在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的目錄路徑。 啓動tomcat,訪問http://localhost:8080/hudson便能訪問咱們的持續集成應用了。Jboss環境中,複製war包到default目錄下便可。以下爲安裝好之後的hudson訪問界面。
應用搭建好之後,咱們按一下步驟操做
1、hudson全局配置信息 hudson配置,好比JDK的安裝目錄、Maven的安裝目錄等、SMTP服務器和用戶密碼等(用於編譯失敗提醒開發人員)
進入「系統管理」》「系統設置」,對maven的安裝目錄、jdk的安裝目錄進行設置,其餘保持默認,如若須要高級配置,請打開問號下的提示信息,按照提示開啓相應的選項。以下圖爲maven和jdk的配置信息。
2、新建任務和任務配置 hudson任務表示一個持續集成的項目,任務配置包括項目版本控制分支、集成任務觸發器(什麼時候觸發項目集成)
進入「新建任務」,以下圖選擇maven2項目,並輸入任務名稱
點擊保存後,進入任務「配置」項 任務配置包括主要的SVN的項目分支配置、項目集成觸發機制配置和編譯目標配置。配置後以下所示
一個集成任務就這樣簡單的配置好了,目前能持續的編譯和測試,在發現測試不經過或者編譯不經過的時候,由郵件發送給相關開發者(需自行配置)。
3、添加插件和運用插件 配置一個任務後,咱們但願hudson不只能夠經過集成發送測試報告、編譯問題,還須要掌握靜態代碼的分析結果,好比findbus或pmd的分析結果,再或則是單元測試覆蓋率的相應報告。接下來,咱們安裝findbus插件。
進入「系統管理」》「管理插件」,以下
咱們在「可選插件」中找到findbugs插件,analysis-core插件,並下載。進入高級選項。上傳並安裝以下:
重啓系統,手動觸發集成,咱們能夠見到最終的集成環境,包括插件的圖示等,至此,hudson安裝完畢,其中還有部分功能有待你們去研究和使用,插件也豐富多彩。