Hudson 是一個可擴展的持續集成引擎。主要用於:持續、自動地構建/ 測試軟件項目. 監控一些定時執行的任務。
Sonar 是一個開源的質量管理平臺,專注於從項目到類方法的持續的分析和測量技術質量,它把代碼質量相關軟件集成到一起統一管理;
簡單來說,
hudson 是持續、自動地構建/ 測試軟件項目,
而sonar 則是持續,自動地統計並分析軟件項目的相關質量數據,例如單元測試的通過率,覆蓋率,代碼的複雜度,代碼的行數等等,用於評估和度量軟件項目質量。
Hudson:
Sonar:
搭建:
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 ,添加以下配置信息即可
- <profile>
- <id>sonar</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <sonar.jdbc.url>
- jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
- </sonar.jdbc.url>
- <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
- <sonar.jdbc.username>sonar</sonar.jdbc.username>
- <sonar.jdbc.password>sonar</sonar.jdbc.password>
- <sonar.host.url>http://10.108.19.90:9000</sonar.host.url>
- </properties>
- </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就集成起來了。