極限編程中一項建議實踐即是持續集成,持續集成是指在開發階段,對項目進行持續性自動化編譯、測試,以達到控制代碼質量的手段。 java
持續集成提供了及時發現問題、追蹤問題、修復問題的機制,他替代了傳統的在全部代碼編寫完畢後才提交QA部門進行測試的方法。 mysql
持續集成對單元測試較爲依賴,測試覆蓋率越高,單元測試越準確,越能體現持續集成的效果。持續集成主要在如下方面提供好處; linux
一、持續自動化測試(持續集成可經過時間間隔觸發,或其餘方式觸發) web
二、跟蹤工程健康情況 sql
三、強制性單元測試用例,驗收測試用例等 數據庫
四、靜態代碼檢測,生成測試報告 apache
Hudson是一款輕量級、易擴展、易配置的持續集成平臺,該集成平臺maven3有良好的支持,而且擴展插件豐富,包括Findbug,PMD靜態分析插件、emma單元測試覆蓋率插件、junit測試報告插件等等。編程
這是一套從開始到結束過程當中的一個完整的代碼檢測,規範化,分析代碼質量的一個平臺。vim
1、首先介紹一下Sonar瀏覽器
這個是一個開源的質量管理平臺,專一於從項目到類方法的持續的分析和測量技術質量,它把代碼質量相關軟件集成到一塊兒統一管理。它支持插件式管理,好比Checkstyle,Findbug,PMD這些插件。而後經過分析把結果保存在數據庫中,用戶能夠經過瀏覽器進行瀏覽查看分析結果,sonar的整個流程以下圖所示。
接下來簡單介紹一下他的流程:
代碼經過Sonar的檢查包括Sonar的插件,而後進行下一步;
把檢查的結果經過瀏覽器顯示出來,經過sonar的配置文件指定的鏈接數據庫,把檢查的結果與數據庫中的檢查規則進行比較、分析而後得出代碼漏,質量不高,不規範等問題;
安裝和配置sonar步驟:
1.安裝mysql,修改sonar鏈接DB方式爲mysql
# yum install mysql-connector-odbc.x86_64 mysql-server //我是用rpm包裝的,固然能夠編譯安裝
# service mysqld start
# mysql
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';
mysql> flush privileges;
2.安裝sonar
下載sonar而後放到服務器上
# cp sonar-3.3.2.zip /usr/local/
# unzip sonar-3.3.2.zip
# ln -sv sonar-3.3.2 sonar
# vim sonar/conf/sonar.properties 修改sonar的配置文件
把如下幾項打開:
sonar.jdbc.username: sonar //受權鏈接數據庫的賬號
sonar.jdbc.password: sonar //鏈接數據庫密碼
#----- MySQL 5.x/6.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# Optional properties
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
3.啓動sonar
# sonar/bin/linux-x86-64/sonar.sh start
2、其次介紹一下Hudson
Hudson是一種革命性的開放源碼 CI 服務器,它具備強大的插件框架 ,因此很容易添加特性,例如添加 tomcat 插件後,能夠方將 build 好的 war 包方便的部署到 Tomcat 裏。他的整個流程大體以下圖所示。
Hudson是一個調度管理接口,經過調度Maven執行構建和返回,經過調用sonar進行對源碼開發歸法進行檢查,而Sonar又能夠利用插件進行檢查,這樣就能更方便的進行有機結合。
而後經過瀏覽器能夠查看構建結果和記錄,因爲Hudson能夠把war包放到tomcat中,因此只須要一個tomcat環境便可實現瀏覽。
配置Hudson
1.安裝jdk環境
# cd /usr/local
# chmod +x jdk-6u25-linux-x64.bin
# ln -sv jdk1.6.0_25 java
# vim /etc/profile 添加java環境變量
#set jdk env
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2.解壓安裝tomcat
# tar xf apache-tomcat-6.0.36.tar.gz
# ln -sv apache-tomcat-6.0.36 tomcat
# vim /etc/profile 添加tomcat的環境變量
#set tomcat env
export TOMCAT_HOME=/usr/local/tomcat
export BASE_HOME=/usr/local/tomcat
# source /etc/profile
# $TOMCAT_HOME/bin/startup.sh start
vim /etc/init.d/tomcat添加一下內容
#chkconfig: 2345 63 37
#description:tomcat server
TOMCAT_HOME=/usr/local/tomcat
BASE_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
啓動tomcat便可。
3.下載hudson
# wget http://java.net/downloads/hudson/war/hudson-2.2.1.war
# mv hudson-2.2.1.war /usr/local/tomcat/webapps/hudson.war
而後從新啓動tomcat
#/usr/local/tomcat/startup.sh start
而後在瀏覽器上輸入http://IP:8080/hudson便可訪問
訪問以下圖所示:
下一篇博客將介紹如何進行代碼檢查和構建整個過程。