定義
SonarQube是管理代碼質量一個開放平臺,可以快速的定位代碼中潛在的或者明顯的錯誤,下面將會介紹一下這個工具的安裝、配置以及使用。
準備工作;
1、jdk(不再介紹)
2、sonarqube:http://www.sonarqube.org/downloads/
3、SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip
4、mysql數據庫(不再介紹)
SonarQube下載
sonar 官網: https://www.sonarqube.org/
sonar 下載地址:https://www.sonarqube.org/downloads/
SonarQube安裝
預置條件:
1.Java環境(1.8+)
2.MySql數據庫(5.6+)
3.SonarQube 7.6
下載完解壓後效果圖如下:
進入conf文件,配置sonar.properties,參數信息如下:
1.打開mysql,新建一個數據庫。
2.打開sonarqube安裝目錄下的D:\sonar\sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件
3.在mysql5.X節點下輸入以下信息
4.重啓sonarqube服務,再次訪問http://localhost:9000,會稍微有點慢,因爲要初始化數據庫信息
5.數據庫初始化成功後,登錄
sonar.jdbc.username=root
sonar.jdbc.password=123123
sonar.jdbc.url=jdbc:mysql://localhost:3307/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.port=9000
url是數據庫連接地址,username是數據庫用戶名,jdbc.password是數據庫密碼,login是sonarqube的登錄名,sonar.password是sonarqube的密碼
進入到bin文件夾,效果如下圖:
裏面支持各種操作系統,選擇自己當前的操作系統,效果圖如下:
按照順序依次執行,InstallNTService.bat、StartNTService.bat、StartSonar.bat文件,若無錯誤,啓動成功後訪問:http://localhost:9000,效果如下:
到此,SonarQube安裝成功
SonarQube中文設置
按照下圖的點擊順序,進入插件安裝頁面
搜索chinese Pack,安裝中文語言包
安裝成功後,重啓sonarqube服務,再次訪問http://localhost:9000/,即可看到中文界面
Sonar-Scanner安裝與使用
sonar-scanner插件是用來分析軟件的,和SonarQube配合使用
Sonar-Scanner下載
下載地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-windows.zip
解壓即可使用
Sonar-Scanner配置與使用
1、打開D:\sonar\sonar-scanner-2.5\conf\sonar-runner.properties文件
2、mysql節點下輸入以下信息
--------------------------------------------------------------
sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=gmsd
sonar.jdbc.password=gmsdtrade
--------------------------------------------------------------
注意:如果測試項目與服務器不在同一臺機子,則需要添加服務器的IP:
--------------------------------------------------------------
#----- Default SonarQube server
sonar.host.url=http://XXX.XXX.XXX.XXX:9000
--------------------------------------------------------------
配置環境變量:
1、新建變量,name=SONAR_RUNNER_HOME。value=D:\sonar\sonar-scanner-2.5
2、打開path,輸入%SONAR_RUNNER_HOME%\bin;
3、sonar-runner -version,出現以下信息,則表示環境變量設置成功
數據庫配置上面有,再次介紹---》》》
修改conf下sonar-scanner.properties,配置如下:
sonar.host.url=http://localhost:9000(sonar地址)
sonar.sourceEncoding=UTF-8
sonar.jdbc.url=jdbc:mysql://localhost:3307/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=******
sonar.jdbc.password=*******
在要檢測的項目根目錄下新建sonar-project.properties,內容如下:
sonar.projectKey=your_project(自己定義)
sonar.projectName=your_project(自己定義)
sonar.projectVersion=1.0
sonar.sources=src(代碼目錄)
sonar.java.binaries=target(classes文件目錄,不加會報錯)
sonar.language=java
sonar.sourceEncoding=UTF-8
或者
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=apiautocore
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
其中:projectName是項目名字,sources是源文件所在的目錄
設置成功後,啓動sonarqube服務,並啓動cmd
在cmd進入項目所在的根目錄,輸入命令:sonar-runner,分析成功後會出現下圖
打開http://localhost:9000/,我們會看到主頁出現了分析項目的概要圖
我們點擊項目,選擇問題鏈接,會看到分析代碼的bug
選擇一個最嚴重的bug,看看
然後,項目根目錄下打開命令行,輸入sonar-scanner運行,就可以看到檢測成功了,在sonar主頁可以看到檢測結果,效果圖如下: