天天看點

SonarQube代碼品質管理平台的安裝與配置

一、SonarQube的介紹

SonarQube是一個管理代碼品質的開放平台。

可以從七個次元檢測代碼品質(為什麼要用SonarQube):

(1)  複雜度分布(complexity): :代碼複雜度過高将難以了解、難以維護

(2)  重複代碼(duplications): :程式中包含大量複制粘貼的代碼是品質低下的表現

(3)  單元測試(unit tests): :統計并展示單元測試覆寫率

(4)  編碼規範(coding rules) :通過Findbugs,PMD,CheckStyle等規範代碼編寫

(5)  注釋(comments): :少了可讀性差,多了看起來費勁

(6)  潛在的Bug(potential bugs) :通過Findbugs,PMD,CheckStyle等檢測潛在的bug

(7)  結構與設計(architecture & design): :依賴、耦合等

Sonar 可以內建不同的測試工具、代碼分析工具、持續內建工具、IDE。

Sonar通過對代碼品質分析結果資料進行再加工處理,通過量化的方式來度量

代碼品質的變化,進而可以友善地對工程進行代碼品質管理。

支援的語言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。

二、SonarQube平台的組成:

(1) 資料庫:存放SonarQube的配置資料、代碼品質的快照資料

(2) Web服務:用于檢視SonarQube的配置資料、代碼品質的快照資料

(3) 分析器:對項目代碼進行分析,生成品質結果資料并存入資料庫中

(分析器有多種,我們選用 SonarQube Maven Plugin)

SonarQube代碼品質管理平台的安裝與配置

三、SonarQube代碼品質管理平台的安裝與配置

IP: 192.168.1.253

環境:CentOS 6.6、JDK1.8、 MySQL5.6、SonarQube6.3

準備工作:已安裝JDK1.8并配置好了環境變量

1、安裝裝MySQL5.6

wget http://repo.mysql.com//mysql-community-release-el6-5.noarch.rpm
yum install mysql-community-server
service mysqld start
chkconfig --list | grep mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off      

用上面的指令檢視到MySQL并沒有設定開機啟動,是以需要設定開機啟動

chkconfig mysqld on      

建立sonar庫和使用者并授權

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar2017'
FLUSH PRIVILEGES;      

3、安裝sonarqube

cd /usr/local/src
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.3.1.zip
unzip sonarqube-6.3.1.zip
mv sonarqube-6.3.1 /usr/local/
ln -sv /usr/local/sonarqube-6.3.1 sonarqube
ln -sv /usr/local/sonarqube/bin/linux-x86-64/sonar.sh /etc/init.d/sonar      

4、配置sonarqube

vim /usr/local/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar2017
#----- MySQL 5.6 or greater
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=0.0.0.0
sonar.web.port=9090      

5、為了友善遠端管理,防火牆中打開3306,9090端口

vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT      

重新開機防火牆,使端口配置生效

service iptables restart      

6、啟動SonarQube

/etc/init.d/sonar start      

7、在浏覽器輸入http://192.168.1.253:9090

登入賬号/密碼預設: admin/admin

SonarQube代碼品質管理平台的安裝與配置

預設是英文的,中文需要安裝插件(插件可以線上安裝也可以在官網下載下傳後放到插件目錄)

繼續閱讀