您好,登錄后才能下訂單哦!
一、SonarQube的介紹
SonarQube是一個(gè)管理代碼質(zhì)量的開(kāi)放平臺(tái)。
可以從七個(gè)維度檢測(cè)代碼質(zhì)量(為什么要用SonarQube):
(1) 復(fù)雜度分布(complexity): :代碼復(fù)雜度過(guò)高將難以理解、難以維護(hù)
(2) 重復(fù)代碼(duplications): :程序中包含大量復(fù)制粘貼的代碼是質(zhì)量低下的表現(xiàn)
(3) 單元測(cè)試(unit tests): :統(tǒng)計(jì)并展示單元測(cè)試覆蓋率
(4) 編碼規(guī)范(coding rules) :通過(guò)Findbugs,PMD,CheckStyle等規(guī)范代碼編寫(xiě)
(5) 注釋(comments): :少了可讀性差,多了看起來(lái)費(fèi)勁
(6) 潛在的Bug(potential bugs) :通過(guò)Findbugs,PMD,CheckStyle等檢測(cè)潛在的bug
(7) 結(jié)構(gòu)與設(shè)計(jì)(architecture & design): :依賴(lài)、耦合等
Sonar 可以集成不同的測(cè)試工具、代碼分析工具、持續(xù)集成工具、IDE。
Sonar通過(guò)對(duì)代碼質(zhì)量分析結(jié)果數(shù)據(jù)進(jìn)行再加工處理,通過(guò)量化的方式來(lái)度量
代碼質(zhì)量的變化,從而可以方便地對(duì)工程進(jìn)行代碼質(zhì)量管理。
支持的語(yǔ)言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。
二、SonarQube平臺(tái)的組成:
(1) 數(shù)據(jù)庫(kù):存放SonarQube的配置數(shù)據(jù)、代碼質(zhì)量的快照數(shù)據(jù)
(2) Web服務(wù):用于查看SonarQube的配置數(shù)據(jù)、代碼質(zhì)量的快照數(shù)據(jù)
(3) 分析器:對(duì)項(xiàng)目代碼進(jìn)行分析,生成質(zhì)量結(jié)果數(shù)據(jù)并存入數(shù)據(jù)庫(kù)中
(分析器有多種,我們選用 SonarQube Maven Plugin)
三、SonarQube代碼質(zhì)量管理平臺(tái)的安裝與配置
IP: 192.168.1.253
環(huán)境:CentOS 6.6、JDK1.8、 MySQL5.6、SonarQube6.3
準(zhǔn)備工作:已安裝JDK1.8并配置好了環(huán)境變量
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并沒(méi)有設(shè)置開(kāi)機(jī)啟動(dòng),所以需要設(shè)置開(kāi)機(jī)啟動(dòng)
chkconfig mysqld on
創(chuàng)建sonar庫(kù)和用戶(hù)并授權(quán)
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、為了方便遠(yuǎn)程管理,防火墻中打開(kāi)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、啟動(dòng)SonarQube
/etc/init.d/sonar start
7、在瀏覽器輸入http://192.168.1.253:9090
登錄賬號(hào)/密碼默認(rèn): admin/admin
默認(rèn)是英文的,中文需要安裝插件(插件可以在線(xiàn)安裝也可以在官網(wǎng)下載后放到插件目錄)
安裝配置完成。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。