jenkins+sonarqube進行代碼質量檢測

JavaNeverGiveUp教程篇

用jenkins+sonarqube去檢查代碼是很是方便的,它能檢查出代碼中可能存在的一些問題,好比io流未關閉、空指針異常、死循環、代碼不規範等問題。java

1. 搭建環境和下載工具包

1.1搭建環境

window系統+Jdk1.8+mysql5.6+python3.6python

1.2下載工具包

工具包mysql

描述git

下載地址(未精確到版本號)github

sonarqube-7.4.zipweb

sonarqube核心包sql

https://www.sonarqube.org/downloads/數據庫

sonar-scanner-2.8.zipwindows

代碼掃描器瀏覽器

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

jenkins-2.190.2.zip

jenkins核心

http://mirrors.jenkins.io/war-stable/

 

2. 配置SonarQube

2.1數據庫sonar庫

SonarQube須要鏈接mysql,而且mysql須要開啓innodb存儲引擎,查詢是否開啓的sql語句是SHOW ENGINES。mysql5.6默認開啓了innodb,那麼直接在數據庫中建立如下數據庫,Sql以下:

建立用戶sonar:  

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';  

FLUSH PRIVILEGES;

2.2解壓SonarQube到指定目錄

本項目解壓到了D:\jenkins_sonar\sonarqube-7.4,目錄結構如圖2-1

 

 

 

圖2-1

2.3修改SonarQube配置文件

如圖2-2所示,sonar.properties增長如下配置,主要是鏈接數據庫的配置和tomcat端口。

sonar.jdbc.username=root

sonar.jdbc.password=root

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.port=9999

 

圖2-2

由於SonarQube須要jdk1.8或者以上才能啓動,如圖2-3所示wrapper.conf指定jdk版本爲1.8。

 

 

 

 

圖2-3

2.5 SonarQube漢化

下載漢化插件sonar-l10n-zh-plugin-1.24.jar放到如下目錄,下載地址https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases

 

 

 

24 啓動SonarQube

打開圖示windows批處理文件,若是命令行出現SonarQube is up則說

用本機瀏覽器輸入localhost:9999能正常進入首頁,則說明SonarQube配置成功。

 

 

 

 

 

3. 配置SonarQube代碼掃描器

3.1解壓SonarQube掃描器到指定目錄

如圖3-1所示

 

 

 

 

 

圖3-1

3.2 配置環境變量

把解壓後獲得的bin目錄加入到環境變量中,圖示目錄是D:\jenkins_sonar\sonar-scanner-3.2.0.1227-windows\bin。

3.3 測試本地代碼掃描

在一個項目根目錄下建立sonar-project.properties配置文件,並添加如下配置,以目錄D:\jenkins_sonar\WebStarter-security爲例。

#sonarqube服務器地址

sonar.host.url=http://localhost:9999

#sonarqube用戶名默認就是admin

sonar.login=admin

#sonarqube密碼

sonar.password=admin默認就是admin

#項目惟一標識(不能出現重複)

sonar.projectKey=WebStarter-security

#項目名稱

sonar.projectName=WebStarter-security

#源代碼目錄

sonar.sources=./

#編譯生成的class文件的所在目錄

sonar.java.binaries=target

#版本號

sonar.projectVersion=1.0

sonar.language=java

#源代碼文件編碼

sonar.sourceEncoding=UTF-8

 

用cmd進入項目根目錄D:\jenkins_sonar\WebStarter-security,執行sonar-scanner命令,出現如下提示則說明項目代碼掃描成功。

 

 

 

 

瀏覽器進入http://localhost:9999/projects,右上角進行登陸,默認管理員用戶名和密碼都是admin。

點擊項目名進入對應的項目,出現如下掃描結果,就是成功掃描代碼了。

相關文章
相關標籤/搜索