SonarQube的初步使用

今天原本想作Jenkins+Docker的持續集成,參考文章 中用了很大的篇幅來說SonarQube的使用,想着代碼檢查未來確定要作,因此乾脆研究了一下Jenkins中如何使用SonarQube。html

一 啓動一個SonarQube服務器java

1)下載 最新版的zip安裝包:mysql

2) 以root登陸到服務器上,建立名爲sonar的組和帳號:linux

groupadd sonar
useradd -g sonar sonar
id sonar
echo "sonar" | passwd --stdin sonar &> /dev/null

操做完以後,就可使用sonar:sonar登陸到服務器上。web

3)確保java在服務器上已經安裝:sql

java -version

4)  確保mysql已經安裝:數據庫

mysql --version

5) 設置數據庫:瀏覽器

# mysql -uroot –p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'Zkong_****';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'Zkong_****';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'Zkong_****';
mysql> FLUSH PRIVILEGES;

6)安裝SonarQube:服務器

將下載到的sonarqube-7.7.zip文件上傳到sonar用戶的主目錄下(如:/home/sonar)工具

解壓

unzip -oq sonarqube-7.7.zip

修改配置文件 sonarqube-7.7/conf/sonar.properties

sonar.jdbc.username=sonar
sonar.jdbc.password=Zkong_****
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

SonarQube服務器默認使用9000端口,若是已經被佔用能夠修改sonar.web.port的值來改變。

7)啓動:

sonarqube-7.7/bin/linux-x86-64/sonar.sh start  啓動服務

sonarqube-7.7/logs/sonar.log 啓動日誌

用root帳戶權限啓動時會有權限問題(參考

執行

chown -R sonar:soanr sonarqube-7.7

而後經過sonar用戶登陸,並執行sonar.sh start來啓動(過程當中可能須要root刪除root啓動過程當中生成的temp文件,詳情參考sonar.log文件)

8) 登陸:

瀏覽器地址輸入 http://服務器ip:9000/, 用admin:admin帳號可登陸

 

二 Jenkins上配置SonarQube

1)在插件管理的可選插件中搜索sonarqube,選擇SonarQube Scanner for Jenkins安裝(SonarQube Plugin貌似已經下架)

2)添加SonarQube服務器:

系統管理->系統設置

最新的版本的SonarQube Scanner只支持token登陸,token的獲取能夠經過登陸服務器經過如下步驟得到:

3)在Jenkins服務器上安裝SonarQube Scanner:

系統管理->全局工具配置:選擇自動安裝(手動安裝作好配置)

4)在任務配置的Post Steps中添加"Execute SonarQube Scanner" step. 

注意:Task to run必定留空,不然執行會報錯!

Analysis properties參數設置:

sonar.projectKey=jsh
sonar.projectName=jsh
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
#根據實際狀況進行填寫
sonar.java.binaries=C:\\Users\\Administrator\\.jenkins\\workspace\\JSH\\target\\classes\\
sonar.sources=C:\\Users\\Administrator\\.jenkins\\workspace\\JSH\\src\\main\\java\\
sonar.exclusions=**/*.xml,**/*.bat

5)運行結果:

任務執行完成以後會給出代碼分析的連接

相關文章
相關標籤/搜索