一邪狞、 前期準(zhǔn)備
1砚著、 jdk1.8
2次伶、 yum
3、 mysql5.6及以上版本
二稽穆、 SonarQube服務(wù)配置
1冠王、 添加sonar服務(wù)用的數(shù)據(jù)庫及用戶
建庫CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
刷新權(quán)限FLUSH PRIVILEGES;
Ctrl+c退出mysql后重啟mysql:service mysqld restart
2、 虛擬機(jī)創(chuàng)建目錄舌镶,本地上傳sonarqube-7.0安裝包
mkdir –p /opt/sonar/server/
unzip sonarqube-7.0.zip
rm –rf sonarqube-7.0.zip
3柱彻、 配置sonar.properties
vim /xxx/sonarqube-7.0/conf/sonar.properties
第一處添加:sonar.jdbc.username=xxxx
sonar.jdbc.password=xxxx
第二處添加:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
注意:修改這2處的目的是sonar將前往mysql存儲(chǔ)或讀取數(shù)據(jù),sonar服務(wù)器和mysql在一臺(tái)機(jī)子上餐胀,故localhost:3306
4哟楷、 配置wrapper.conf
vim /xxx/sonarqube-7.0/conf/wrapper.conf
配置wrapper.java.command=/usr/java/jdk1.8.xxx/bin/java? (與sonar用戶的環(huán)境變量文件~/.bash_profile配置相同)
5、 Sonar啟動(dòng)
注意:sonarqube-7.0需要設(shè)置普通用戶啟動(dòng)否灾,接下來SonarQube服務(wù)端的幾個(gè)步驟都是在新建的sonar用戶下操作的卖擅。
5.1 linux操作
cd /xxx/sonarqube-7.0/bin&&ll
uname –a? (查看本機(jī)linux信息)
sh /xxx/sonarqube-7.0/bin/linux-x86-64/sonar.sh start? (64位系統(tǒng)啟動(dòng)方式)
注意:啟動(dòng)start,查看服務(wù)狀態(tài)status墨技,重啟restart惩阶,關(guān)閉stop
5.2 瀏覽器操作
http://虛擬機(jī)ip:port
默認(rèn)賬號(hào)密碼admin
(conf/sonar.properties里sonar.web.context=/sonar,則瀏覽器地址為:ip:port/sonar扣汪;
conf/sonar.properties里sonar.web.context=断楷,則瀏覽器地址為:ip:port)
6、 SonarQube漢化
在虛擬機(jī)上執(zhí)行命令
cd /xxx/sonarqube-7.0/extensions/plugins
rz (上傳sonar-l10-zh-plugin-1.6.jar到此目錄)
重啟sonar服務(wù)器:
sh /xxx/sonarqube-7.0/bin/linux-x86-64/sonar.sh restart
7私痹、 上傳插件
官方地址:https://docs.sonarqube.org/display/PLUG/SonarSource+Plugins
執(zhí)行命令:
cd /xxx/sonarqube-7.0/extensions/plugins
rz (上傳xxx.jar到此目錄)
三脐嫂、 SonarQube客戶端
官方地址:
https://docs.sonarqube.org/display/PLUG/SonarSource+Plugins/SCAN/Analyzing+with+SonarQube+Scanner
1、 Sonarqube Scanner默認(rèn)(linux+win)
1.1 linux
1.1 .1 安裝SonarQube Scanner包紊遵,解壓后,vim conf/sonar-scanner.properties侥蒙,如下配置:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=xxxx
sonar.jdbc.password=xxxx
sonar.sorceEncoding=UTF-8
#----- Default SonarQube server
sonar.host.url=http://Sonarqube服務(wù)端所在虛擬機(jī)ip:port
sonar.login=xxxx
sonar.password=xxxx
1.1 .2 配置環(huán)境變量暗膜,vim /etc/profile,如下:
#配置sonar-scanner
export SONAR_RUNNER_HOME=/usr/local/sonar/sonar-scanner-3.3.0.1492-linux
export PATH=$SONAR_RUNNER_HOME/bin:$PATH
1.2 win
詳細(xì)安裝(略)
2鞭衩、 sonarqube+maven
2.1 pom.xml中加上依賴:
2.2 cmd 進(jìn)入任一工程学搜,執(zhí)行命令:mvn clean verify sonar:sonar
3娃善、 sonarqube+Jenkins(重點(diǎn))
官方地址:/SCAN/Analyzing+with+SonarQube+for+Jenkins
3.1 jenkins部署機(jī)為tomcat8
3.2 jenkins配置
1)jenkins系統(tǒng)管理->插件管理->高級(jí)設(shè)置-手工上傳SonarQube for Jenkins 插件
2)jenkins系統(tǒng)管理->系統(tǒng)設(shè)置(SonarQube servers)
Server authentication token在SonarQube服務(wù)器web界面配置:配置->權(quán)限->用戶
3)jenkins 系統(tǒng)管理->全局工具配置(jdk+SonarQube Scanner+maven)
Jdk\maven之前就配好了,這就不展開就說明
4)具體需要被掃描的任務(wù)里
增加以下兩處
構(gòu)建任務(wù)后瑞佩,在sonarQube服務(wù)端可以看到掃描后的結(jié)果聚磺,如下: