1.Sonar概述
Sonar是一個用于代碼質(zhì)量管理的開放平臺。通過插件機制,Sonar可以繼承不同的測試工具,代碼分析工具,以及持續(xù)集成工具。
與持續(xù)集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是簡單地把不同的代碼檢查工具結(jié)果(例如 FindBugs,PMD 等)直接顯示在 Web 頁面上,而是通過不同的插件對這些結(jié)果進行再加工處理,通過量化的方式度量代碼質(zhì)量的變化,從而可以方便地對不同規(guī)模和種類的工程進行代碼質(zhì)量管理。
在對其他工具的支持方面,Sonar 不僅提供了對 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 這些工具里聯(lián)機查看結(jié)果;同時 Sonar 還對大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 Sonar。
此外,Sonar 的插件還可以對 Java 以外的其他編程語言提供支持,對國際化以及報告文檔化也有良好的支持。
2.Sonar的安裝
前提環(huán)境:
1.已安裝Java環(huán)境。
2.已安裝數(shù)據(jù)庫(本文章中使用mysql數(shù)據(jù))。
軟件下載地址:http://www.sonarqube.org/downloads/
分別下載SonarQube和SonarQube-Runner。
注意:目前最新版的SonarQube版本為5.6,要求mysql數(shù)據(jù)庫版本在5.6以上,剛開始我用SonarQube5.6的版本,mysql為5.1,sonar服務(wù)死活起不了。后來google一下,發(fā)現(xiàn)這個問題。于是將sonar版本改為4.5.7。
1.數(shù)據(jù)庫配置:
進入數(shù)據(jù)庫:
#mysql -uroot -p[密碼]
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
2.安裝sonarqube和sonar-runner
①將下載的sonar-3.7.zip包解壓至Linux某路徑如/usr/local
②將下載的sonar-runner-dist-2.3.zip包解壓某路徑/usr/local
③添加SONAR_HOME、SONAR_RUNNER_HOME環(huán)境變量,并將SONAR_RUNNER_HOME加入PATH。如下圖

3.修改sonarqube的配置文件
sonarqube配置文件位置:<install_directory>/conf/sonar.properties(例如:/usr/local/sonarqube-4.5.7/conf/sonar.properties)
該文件中包含配置數(shù)據(jù)庫設(shè)置以及web啟動的一系列設(shè)置。
①配置數(shù)據(jù)庫設(shè)置:默認已經(jīng)提供了各類數(shù)據(jù)庫的支持,這里使用mysql,因此取消mysql模塊的注釋。如下圖

②web啟動配置:sonar支持類似tomcat服務(wù)啟動配置一樣,默認的端口號為9000,host為localhost。如下圖:在這里我把端口號改了,原因是9000端口貌似被占用,因此改為9003.

4.修改sonar-runner的配置文件:
sonar-runner配置文件位置:<install_directory>/conf/sonar-scanner.properties(例如:/usr/local/sonar-scanner-2.6.1/conf/sonar-scanner.properties)將默認的注釋去掉。如下圖:

5.啟動服務(wù)
目錄切換至sonar的<install_directory>/bin/macosx-universal-64/目錄,啟動服務(wù)
#./sonar.sh start 啟動服務(wù)
#./sonar.sh stop 停止服務(wù)
#./sonar.sh restart 重啟服務(wù)
#./sonar.sh console 查看控制臺
至此,sonar就安裝好了
訪問http://localhost:9003 即可
6.sonar中文補丁包安裝中文包安裝安裝中文補丁包可以通過訪問http://localhost:9003 ,打開sonar后,進入更新中心安裝或者下載中文補丁包后,放到SONARQUBE_HOME/extensions/plugins目錄,然后重啟SonarQube服務(wù)