SonarQube + scanner歷史版本的安裝配置及使用
SonarQube 是一個開源的代碼分析平臺, 用來持續分析和評測項目源代碼的質量。 通過SonarQube我們可以檢測出項目中重複代碼, 潛在bug, 代碼規範,安全性漏洞等問題, 並通過SonarQube web UI展示出來。
一:準備需要
版本信息:sonarqube 7.7+sonar-scanner-3.3.0.1492-windows+jdk1.8.0_221 (親測有效)
1.sonarqube官網下載:https://www.sonarqube.org/downloads/
2.sonar-scanner下載:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/ (免費)
3.mysql數據庫(5.6至8.0版本):https://dev.mysql.com/downloads/mysql/
二: 安裝
1:下載sonarqube和sonar-scanner安裝包到本地之後進行解壓
2:下載好sonarqube後,解壓打開bin目錄,啓動相應OS目錄下的StartSonar。如本文演示使用的是win的64位系統,則打開D:\baiduxiazai\sonarqube-7.7\bin\windows-x86-64\StartSonar.bat
3:點開後,如圖所示,則表示打開成功
有可能碰到啓動失敗的問題,如圖:
出現如上問題的原因:
(1)電腦的任務管理器中出現Java(TM)Platform SE binary(一般是三個),關閉即可
(2)mysql的版本低或者太高,所以要求mysql版本5.6至8.0版本
(3)配置sonarqube的sonar.properties文件和sonar-scanner的sonar-scanner.properties文件的數據庫名稱與創建的數據庫名稱對不上,會報錯(後續會說明)
4:啓動瀏覽器,訪問http://localhost:9000,如出現下圖則表示安裝成功
注意:如果要關閉sonarqube服務,則在服務窗口界面,快捷鍵Ctrl+C,然後輸入Y退出,如圖所示:
不要直接關閉,不然再次啓動時會出現如下報錯:
如果再次啓動的時候失敗了,你可以啓動進程管理器,關閉所有java.exe服務,然後再次啓動該服務即可
三:配置文件
1:啓動MySQL數據庫,創建test數據庫即可。
2:進入sonarqube解壓縮之後的文件目錄中,進入conf文件下,找到sonar.properties文件,並在mysql節點下添加MySQL數據庫的連接配置信息如下:
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/text?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
其中:url是數據庫連接地址,username是數據庫用戶名,jdbc.password是數據庫密碼,login是sonarqube的登錄名,sonar.password是sonarqube的密碼
3:進入sonar-scanner解壓縮之後的文件目錄中,進入conf文件下,找到sonar-scanner.properties文件,並向其中添加MySQL數據庫的連接配置信息如下:
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/text?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
注意:如果測試項目與服務器不在同一臺機子,則需要添加SonarQube服務器的IP:
sonar.host.url=http://localhost:9000
4:sonar-scanner安裝
(1)windows環境下進入高級系統設置環境變量下進行配置,
新建環境變量:
變量名:SONAR_RUNNER_HOME
變量值:C:\soft\SonarQube\sonar-scanner (此處是你所下載的sonar-scanner解壓之後所在的文件)
(2)編輯Path環境變量,輸入內容: ;%SONAR_RUNNER_HOME%\bin; (注意分號; 是英文狀態下的),之後保存退出
(3)以管理的身份啓動cmd命令窗口,查看sonar-scanner的版本信息:sonar-scanner -v 出現以下信息,則表示環境變量設置成功
5:新建配置文件sonar-project.properties
(1)打開要進行代碼分析的項目根目錄,新建sonar-project.properties文件,輸入以下信息
#projectKey是項目的唯一標識,不能出現重複,可隨意起
sonar.projectKey=項目標識,隨便起即可
# this is the name displayed in the SonarQube UI,不能是中文
sonar.projectName=你的項目名稱
# 項目的版本號
sonar.projectVersion=0.5
# 項目的代碼的編碼格式
sonar.sourceEndcoding=UTF-8
# 項目的語言
sonar.language=java
# 項目的源代碼目錄
sonar.sources=src
# 項目的編譯生成的class文件的所在目錄
sonar.java.binaries=.
(2)重新啓動StartSonar.bat服務,並以管理員的身份啓動一個cmd命令窗口,cd命令進入項目的根路徑下,執行命令:sonar-scanner,開始對你的代碼進行質量審覈。你會看到如下信息,代表成功運行:
也可能會看到運行失敗信息:
有可能是配置文件sonar-project.properties裏發生錯誤,所以
(3)打開http://localhost:9000/,我們會看到主頁出現了分析項目的概要圖
然後就慢慢有針對性的檢查自己的代碼