1.Sonar概述
Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)放平臺(tái)。通過(guò)插件機(jī)制,Sonar可以繼承不同的測(cè)試工具,代碼分析工具,以及持續(xù)集成工具。
與持續(xù)集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是簡(jiǎn)單地把不同的代碼檢查工具結(jié)果(例如 FindBugs,PMD 等)直接顯示在 Web 頁(yè)面上,而是通過(guò)不同的插件對(duì)這些結(jié)果進(jìn)行再加工處理,通過(guò)量化的方式度量代碼質(zhì)量的變化,從而可以方便地對(duì)不同規(guī)模和種類(lèi)的工程進(jìn)行代碼質(zhì)量管理。
在對(duì)其他工具的支持方面,Sonar 不僅提供了對(duì) IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 這些工具里聯(lián)機(jī)查看結(jié)果;同時(shí) Sonar 還對(duì)大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 Sonar。
此外,Sonar 的插件還可以對(duì) Java 以外的其他編程語(yǔ)言提供支持,對(duì)國(guó)際化以及報(bào)告文檔化也有良好的支持。
2.Sonar的安裝
前提環(huán)境:
1.已安裝Java環(huán)境。
2.已安裝數(shù)據(jù)庫(kù)(本文章中使用mysql數(shù)據(jù))。
軟件下載地址:http://www.sonarqube.org/downloads/
分別下載SonarQube和SonarQube-Runner。
注意:目前最新版的SonarQube版本為5.6,要求mysql數(shù)據(jù)庫(kù)版本在5.6以上,剛開(kāi)始我用SonarQube5.6的版本,mysql為5.1,sonar服務(wù)死活起不了。后來(lái)google一下,發(fā)現(xiàn)這個(gè)問(wèn)題。于是將sonar版本改為4.5.7。
1.數(shù)據(jù)庫(kù)配置:
進(jìn)入數(shù)據(jù)庫(kù):
#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ù)庫(kù)設(shè)置以及web啟動(dòng)的一系列設(shè)置。
①配置數(shù)據(jù)庫(kù)設(shè)置:默認(rèn)已經(jīng)提供了各類(lèi)數(shù)據(jù)庫(kù)的支持,這里使用mysql,因此取消mysql模塊的注釋。如下圖
②web啟動(dòng)配置:sonar支持類(lèi)似tomcat服務(wù)啟動(dòng)配置一樣,默認(rèn)的端口號(hào)為9000,host為localhost。如下圖:在這里我把端口號(hào)改了,原因是9000端口貌似被占用,因此改為9003.
4.修改sonar-runner的配置文件:
sonar-runner配置文件位置:<install_directory>/conf/sonar-scanner.properties(例如:/usr/local/sonar-scanner-2.6.1/conf/sonar-scanner.properties)將默認(rèn)的注釋去掉。如下圖:
5.啟動(dòng)服務(wù)
目錄切換至sonar的<install_directory>/bin/macosx-universal-64/目錄,啟動(dòng)服務(wù)
#./sonar.sh start 啟動(dòng)服務(wù)
#./sonar.sh stop 停止服務(wù)
#./sonar.sh restart 重啟服務(wù)
#./sonar.sh console 查看控制臺(tái)
至此,sonar就安裝好了
訪問(wèn)http://localhost:9003 即可
6.sonar中文補(bǔ)丁包安裝中文包安裝安裝中文補(bǔ)丁包可以通過(guò)訪問(wèn)http://localhost:9003 ,打開(kāi)sonar后,進(jìn)入更新中心安裝或者下載中文補(bǔ)丁包后,放到SONARQUBE_HOME/extensions/plugins目錄,然后重啟SonarQube服務(wù)