hudson+sonar+mave

Hudson 是一個可擴展的持續集成引擎。主要用於:持續、自動地構建/ 測試軟件項目. 監控一些定時執行的任務。

Sonar 是一個開源的質量管理平臺,專注於從項目到類方法的持續的分析和測量技術質量,它把代碼質量相關軟件集成到一起統一管理;

 

簡單來說,

hudson 是持續、自動地構建/ 測試軟件項目,

sonar 則是持續,自動地統計並分析軟件項目的相關質量數據,例如單元測試的通過率,覆蓋率,代碼的複雜度,代碼的行數等等,用於評估和度量軟件項目質量。

Hudson:

http://hudson-ci.org/

Sonar:

http://www.sonarsource.org/

 

搭建:

1 、安裝:

  1 )下載最新的版本(它打包爲一個 WAR 文件)。hudson 官方網址: http://hudson-ci.org/

  2 )運行 java -jar hudson.war

  注意:Hudson 需要運行 Java 5 以及以上的版本。

  還有一種安裝方式就是將下載的war 包文件部署到 servlet 容器,然後啓動容器,在瀏覽器的URL 地址欄中輸入類似http://localhost:8088/hudson/ 這樣的地址即可。下圖是安裝成功後的界面(使用的是XP+tomcat+java5 環境):

2 、啓動:進入到服務器目錄下/home/ 用戶名/apache-tomcat-6.0.20/bin

       執行腳本shutdown.sh 或者startup.sh 進行重新或者停用

3 、系統配置:

在已運行的hudson 主頁中,點擊左側的系統管理—> 系統設置:

在系統配置頁面,這個列表中的第一個項顯示的是Home directory 。這裏包含了Hudson 要執行的所有工作區和存儲它的所有配置。

爲了配置一個JDK 和Maven2 實例,請在每一節下面單擊Add 按鈕,這裏將添加實例的名稱和絕對地址。

建議不要勾選Install automatically 選項,而是輸入用戶本機的java ,maven2 的安裝路徑並命名。

再介紹該頁面其他文本信息所表達的含義:

system.message 填寫一些說明信息
Quiet period:hudson 定時構建工程的時間( 秒)
 Enable security: 設置hudson 登陸的規則( 默認 爲匿名登陸) ,具體見下文介紹
TCP port for JNLP slave agents: 不瞭解JNLP 不敢胡寫總之就是三種方式: 固定(fixed) 隨機(Radom) 不使用(disabled), 使用固定時可以填入JNLP 信息

security realm: 可以使用中間件容器, 數據庫,LDAP 來驗證安全,

  authorized: 可以設置身份的驗證方法: 系統用戶, 匿名用戶, 自定義用戶, 還有繼承用戶( 此處也在研究中, 建議使用匿名用戶)
JDK installations: 設置JDK 的安裝路徑
Shell executable: 設置window shell 命令
Ant installation: 設置ant 的安裝路徑
mave installation 設置mave 的安裝路徑
cvs executable: 設置cvsnt 執行進程的路徑(cvs.exe)
.cvspass file: 設置cvsnt 管理員文件的路徑(passwd 文件)
e-mail notification: 設置當發生錯誤時發送的郵箱地址
hudson url: 就是hudson 的默認地址

還可以配置服務器的其他幾個方面,比如向 Hudson 提供一個電子郵件服務器的位置,以便在構建失敗時接收電子郵件。根據您的組織設置電子郵件的方式,可能需要讓系統管理員幫助設置這個特性。設置電子郵件並不是必需的;Hudson 還支持以 RSS 作爲通知機制,對於某些人來說,這種方式比電子郵件更好。究竟選擇哪些通知機制完全取決於您。

 

搭建:

1.   下載 
到官方網站下載Sonar 的壓縮包,解壓到任意目錄  http://www.sonarsource.org/downloads/

2.   Mysql 數據庫安裝

去沒有 sql 官網上下載mysql 的rpm 包:MySQL-client-community-5.1.45-1.rhel5.i386.rpm 和MySQL-server-community-5.1.45-1.rhel5.i386.rpm

分別

    rpm –ivh MySQL-server-community-5.1.45-1.rhel5.i386.rpm

3.   登陸mysql ,mysql 的初始用戶名密碼爲root/ 空

正常的登錄爲 mysql –u root -p

CREATE USER sonar@localhost IDENTIFIED BY 'sonar;

grant select,insert,update,delete,create on *.* to sonar@"localhost" Identified by "sonar";

4.   創建數據庫

Sonar 默認使用嵌入式Derby 數據庫,如果要遷移到Mysql 上,需首先創建一個sonar/sonar 的UTF-8 的mysql 數據庫, 並授權訪問sonar 庫

root用戶下

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
mysql> grant all privileges on sonar.* to 'sonar'@'%' identified by 'sonar'; 
mysql> flush privileges; 

5 .修改confsonar.properties 文件: 
      Properties 代碼: 
      sonar.jdbc.url: jdbc:mysql:// 服務器IP 地址 :3306/sonar?useUnicode=true&characterEncoding=utf8 
      sonar.jdbc.driver: com.mysql.jdbc.Driver 
      sonar.jdbc.validationQuery: select 1 

5 、修改服務器的maven 插件的settings.Xml ,添加以下配置信息即可

[xhtml:nogutter] view plaincopy
  1. <profile>    
  2.   <id>sonar</id>    
  3.                       <activation>    
  4.                        <activeByDefault>true</activeByDefault>    
  5.                       </activation>    
  6.                       <properties>    
  7.                            <sonar.jdbc.url>    
  8.                                    jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
  9.                            </sonar.jdbc.url>    
  10.                            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>    
  11.                            <sonar.jdbc.username>sonar</sonar.jdbc.username>    
  12.                            <sonar.jdbc.password>sonar</sonar.jdbc.password>    
  13.                            <sonar.host.url>http://10.108.19.90:9000</sonar.host.url>    
  14.                      </properties>    
  15.                 </profile>    
 

 

Sonar插件的安裝

1、進入Hudson的系統管理->的插件管理,如下圖

2、進入“可用插件”,選擇sonar( Hudson Sonar Plugin) 插件,在本頁面右下角(最下面)點擊安裝,如下圖

3、頁面提示成功,即標識完成sonar 插件的安裝

4、 重啓hudson ,插件就生效了。

 

Sonar插件配置

1、進入Hudson->系統管理->系統配置,如下圖

     http://10.108.19.90/hudson/configure

2、在《系統配置》頁面找到Sonar,如下圖,配置sonar的系統信息

3、做完以上配置,Hudson+Sonar就集成起來了。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章