SonarQube与SonarRunner安装配置
? 使用的安裝包:
(1)sonarqube-4.5.zip?(2)?sonar-runner-dist-2.4.zip?下載后解壓縮到/usr/local下
(3)mysql-5.6.14.tar.gz
Sonar介紹
Sonar是一個用于代碼質量管理的開源平臺,用于管理Java源代碼的質量。通過插件機制,Sonar 可以集成不同的測試工具,代碼分析工具,以及持續集成工具,比如pmd、checkstyle、findbugs、Jenkins。通過不同的插件對這些結果進行再加工處理,通過量化的方式度量代碼質量的變化,從而可以方便地對不同規模和種類的工程進行代碼質量管理。同時 Sonar 還對大量的持續集成工具提供了接口支持,可以很方便地在持續集成中使用 Sonar。此外,Sonar 的插件還可以對 Java 以外的其他編程語言提供支持,對國際化以及報告文檔化也有良好的支持。
1、安裝配置MySQL數據庫
Apache Derby 是Sonar自帶并且默認安裝使用的數據庫,此外Sonar對如下數據庫提供支持:MySQL 5.x, Oracle 10g XE, Postgresql, MS SqlServer等,本文以mysql為例介紹如何配置數據庫:
(1)創建數據庫及用戶
在mysql中執行如下腳本創建數據庫及mysql用戶
#mysql -u root -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)編輯${SONAR_HOME}/conf/sonar.properties配置數據庫:
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true sonar.jdbc.driverClassName=com.mysql.jdbc.Driver 2、安裝、配置Sonar
(1)設置環境變量
# vi /etc/profile增加和修改下面內容
export SONAR_HOME=/usr/local/sonarqube-4.5
export SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4export PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin
使環境變量生效
# source /etc/profile(2)啟動Sonar
[root@vm-bd /]#cd /usr/local/sonarqube-4.5/bin/linux-x86-64 [root@vm-bd linux-x86-64]#./sonar.sh start(3)打開瀏覽器輸入?http://localhost:9000/?出現運行界面;
(4)修改訪問端口和路徑
Sonar默認的端口是”9000”、默認的上下文路徑是”/”、默認的網絡接口是”0.0.0.0”,默認的管理員帳號和密碼為:admin/admin,這些參數都可以在配置文件中修改:
$ vi ${SONAR_HOME}/conf/sonar.properties 3、配置中文插件
下載地址:http://docs.codehaus.org/display/SONAR/Chinese+Pack
將下載后的插件上傳到${SONAR_HOME}\extensions\plugins目錄下,重新啟動sonar。然后可以以系統管理員身份登錄Sonar配置插件,或者升級。
Sonar支持多種插件,插件的下載地址為:http://docs.codehaus.org/display/SONAR/Plugin+Library
將下載后的插件上傳到${SONAR_HOME}extensions\plugins目錄下,重新啟動sonar。
sonar默認集成了Java Ecosystem插件,該插件是一組插件的合集
- Java [sonar-java-plugin]:java源代碼解析,計算指標等
- Squid [sonar-squid-java-plugin]:檢查違反Sonar定義規則的代碼
- Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle檢查違反統一代碼編寫風格的代碼
- FindBugs [sonar-findbugs-plugin]:使用FindBugs檢查違反規則的缺陷代碼
- PMD [sonar-pmd-plugin]:使用pmd檢查違反規則的代碼
- Surefire [sonar-surefire-plugin]:使用Surefire執行單元測試
- Cobertura [sonar-cobertura-plugin]:使用Cobertura獲取代碼覆蓋率
- JaCoCo [sonar-jacoco-plugin]:使用JaCOCO獲取代碼覆蓋率
下面列出了一些常用的插件:
- JavaScript代碼檢查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
- python代碼檢查:http://docs.codehaus.org/display/SONAR/Python+Plugin
- Web頁面檢查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin
- xml文件檢查:http://docs.codehaus.org/display/SONAR/XML+Plugin
- scm源碼庫統計分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin
- 文件度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin
- 中文語言包:http://docs.codehaus.org/display/SONAR/Chinese+Pack
- 時間表顯示度量結果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin
- 度量結果演進圖:http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin
b)插件配置示例(本段內容來自http://www.ibm.com/developerworks/cn/java/j-lo-sonar/)
Sonar 的主要特色是對不同工具產生的檢查結果進行再加工處理,Sonar 還向用戶提供了對數據進行個性化處理的方法
4、安裝、配置Sonar-Runner
解壓縮sonar-runner-dist-2.4.zip到 /usr/local目錄下,修改配置文件sonar-runner.properties
#----- Default Sonar server #sonar.host.url=http://localhost:9000#----- MySQL #sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 #sonar.jdbc.driver=com.mysql.jdbc.Driver#----- Global database settings #sonar.jdbc.username=sonar #sonar.jdbc.password=sonar#----- Default directory layout #sonar.sources=src/main/java #sonar.tests=src/test/java #sonar.binaries=target/classes#----- Default source code encoding #sonar.sourceEncoding=UTF-8 5、測試Sonar-Runner運行
#sonar-runner -h
6、分析代碼
在代碼文件夾的根目錄下新建Sonar-Runner的配置文件sonar-project.properties
# required metadata sonar.projectKey=my:project sonar.projectName=My project sonar.projectVersion=1.0# path to source directories (required) sonar.sources=src/main/java# path to test source directories (optional) #sonar.tests=testDir1,testDir2# path to project binaries (optional), for example directory of Java bytecode #sonar.binaries=binDir# optional comma-separated list of paths to libraries. Only path to JAR file and path to directory of classes are supported. sonar.libraries=web/WEB-INF/lib# Uncomment this line to analyse a project which is not a java project. # The value of the property must be the key of the language. sonar.language=java# Additional parameters sonar.my.property=value然后在命令行下執行
#sonar-runner控制臺會打印分析過程,當出現SUCCESS時,分析成功!
官網:http://www.sonarqube.org/
示例:http://nemo.sonarsource.org/
總結
以上是生活随笔為你收集整理的SonarQube与SonarRunner安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为 WS550 无线路由器无线桥接设置
- 下一篇: DOM4J介绍与代码示例 (强大的xml