持續集成代碼管理平臺Hudson+Sonar(一)

  極限編程中一項建議實踐即是持續集成,持續集成是指在開發階段,對項目進行持續性自動化編譯、測試,以達到控制代碼質量的手段。 java

  持續集成提供了及時發現問題、追蹤問題、修復問題的機制,他替代了傳統的在全部代碼編寫完畢後才提交QA部門進行測試的方法。 mysql

  持續集成對單元測試較爲依賴,測試覆蓋率越高,單元測試越準確,越能體現持續集成的效果。持續集成主要在如下方面提供好處; linux

 
 
 
 
  1. 一、持續自動化測試(持續集成可經過時間間隔觸發,或其餘方式觸發)  web

  2. 二、跟蹤工程健康情況  sql

  3. 三、強制性單元測試用例,驗收測試用例等  數據庫

  4. 四、靜態代碼檢測,生成測試報告 apache

  Hudson是一款輕量級、易擴展、易配置的持續集成平臺,該集成平臺maven3有良好的支持,而且擴展插件豐富,包括Findbug,PMD靜態分析插件、emma單元測試覆蓋率插件、junit測試報告插件等等。編程

  這是一套從開始到結束過程當中的一個完整的代碼檢測,規範化,分析代碼質量的一個平臺。vim

1、首先介紹一下Sonar瀏覽器

  這個是一個開源的質量管理平臺,專一於從項目到類方法的持續的分析和測量技術質量,它把代碼質量相關軟件集成到一塊兒統一管理。它支持插件式管理,好比Checkstyle,Findbug,PMD這些插件。而後經過分析把結果保存在數據庫中,用戶能夠經過瀏覽器進行瀏覽查看分析結果,sonar的整個流程以下圖所示。

225246459.png

接下來簡單介紹一下他的流程:

  • 代碼經過Sonar的檢查包括Sonar的插件,而後進行下一步;

  • 把檢查的結果經過瀏覽器顯示出來,經過sonar的配置文件指定的鏈接數據庫,把檢查的結果與數據庫中的檢查規則進行比較、分析而後得出代碼漏,質量不高,不規範等問題;

安裝和配置sonar步驟:

 
 
  1. 1.安裝mysql,修改sonar鏈接DB方式爲mysql

  2. # yum install mysql-connector-odbc.x86_64 mysql-server  //我是用rpm包裝的,固然能夠編譯安裝

  3. # service mysqld start

  4. # mysql

  5. mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

  6. mysql> grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';

  7. mysql> flush privileges;

  8. 2.安裝sonar

  9. 下載sonar而後放到服務器上

  10. # cp sonar-3.3.2.zip /usr/local/

  11. # unzip sonar-3.3.2.zip  

  12. # ln -sv sonar-3.3.2 sonar

  13. # vim sonar/conf/sonar.properties   修改sonar的配置文件

  14. 把如下幾項打開:

  15. sonar.jdbc.username:                       sonar     //受權鏈接數據庫的賬號

  16. sonar.jdbc.password:                       sonar     //鏈接數據庫密碼

  17. #----- MySQL 5.x/6.x

  18. # Comment the embedded database and uncomment the following line to use MySQL

  19. sonar.jdbc.url:                            jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

  20. # Optional properties

  21. sonar.jdbc.driverClassName:                com.mysql.jdbc.Driver

  22. 3.啓動sonar

  23. # sonar/bin/linux-x86-64/sonar.sh start

2、其次介紹一下Hudson

  Hudson是一種革命性的開放源碼 CI 服務器,它具備強大的插件框架 ,因此很容易添加特性,例如添加 tomcat 插件後,能夠方將 build 好的 war 包方便的部署到 Tomcat 裏。他的整個流程大體以下圖所示。

230251229.png

  Hudson是一個調度管理接口,經過調度Maven執行構建和返回,經過調用sonar進行對源碼開發歸法進行檢查,而Sonar又能夠利用插件進行檢查,這樣就能更方便的進行有機結合。

  而後經過瀏覽器能夠查看構建結果和記錄,因爲Hudson能夠把war包放到tomcat中,因此只須要一個tomcat環境便可實現瀏覽。

配置Hudson

 
 
 
 
  1. 1.安裝jdk環境

  2. # cd /usr/local

  3. # chmod +x jdk-6u25-linux-x64.bin  

  4. # ln -sv jdk1.6.0_25 java

  5. # vim /etc/profile  添加java環境變量

  6. #set jdk env

  7. JAVA_HOME=/usr/local/java

  8. CLASSPATH=$JAVA_HOME/lib/tools.jar

  9. PATH=$JAVA_HOME/bin:$PATH

  10. export JAVA_HOME CLASSPATH PATH

  11. 2.解壓安裝tomcat  

  12. # tar xf apache-tomcat-6.0.36.tar.gz  

  13. # ln -sv apache-tomcat-6.0.36 tomcat  

  14. # vim /etc/profile 添加tomcat的環境變量  

  15. #set tomcat env  

  16. export TOMCAT_HOME=/usr/local/tomcat  

  17. export BASE_HOME=/usr/local/tomcat  

  18. # source /etc/profile

  19. # $TOMCAT_HOME/bin/startup.sh start

  20. vim /etc/init.d/tomcat添加一下內容

  21. #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


  22. 啓動tomcat便可。  

  23. 3.下載hudson  

  24. # wget http://java.net/downloads/hudson/war/hudson-2.2.1.war  

  25. # mv hudson-2.2.1.war /usr/local/tomcat/webapps/hudson.war  

  26. 而後從新啓動tomcat  

  27. #/usr/local/tomcat/startup.sh start  

  28. 而後在瀏覽器上輸入http://IP:8080/hudson便可訪問  

訪問以下圖所示:

231356132.png

下一篇博客將介紹如何進行代碼檢查和構建整個過程。

參考文檔:http://docs.codehaus.org/display/SONAR/Documentation

相關文章
相關標籤/搜索