SonarQube7.6 程式碼質量管理工具安裝&使用 筆記

藥藥君發表於2019-02-22

最近公司需要QA來管理程式碼質量,於是就上網搜了一下,參考了N個部落格,終於完成了掃描的操作,暫且不考量該Scanner對工作的貢獻,至少可以讓程式碼完全的跑起來,這也算對於研究了一天的自己一個安慰吧。

接下來記錄一下自己學習的過程:

SonarQube是一個開源的程式碼質量檢查工具,它支援20幾種程式語言的程式碼質量管理與檢測,提供了視覺化的報告,可以快速的定位問題所在;

一.安裝

本人電腦是WIN10 64位,安裝所需檔案:

連結:https://pan.baidu.com/s/1jFydD7ki60Kl2MrHdmFaRA 密碼:0syp

1.1  安裝jdk

                   jdk建議版本要求: 1.8+

1.2  安裝Mysql資料庫

                   Mysql資料庫版本要求: 5.7…

                   需要記住安裝時Mysql資料庫的的賬號密碼;

1.3  安裝SonarQube

                   地址:https://www.sonarqube.org/downloads/ 

                   社群版是免費的,我下載的是最新的SonarQube 7.6

                   下載好之後直接解壓即可

 

1.4  安裝sonar-scanner

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

下載好之後解壓即可

 

二. 環境配置

2.1         jdk 環境配置

                   自行百度;

2.2    Mysql 環境配置

                   安裝好相關的Mysql版本後,需要在資料庫中建立一個資料庫,命名為sonar

                   先cmd開啟Dos系統,輸入: mysql –uroot –p 再輸入安裝mysql時的密碼即可登入mysql,登入

                 

2.2.1 建立資料庫名sonar:     

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

 2.2.2 建立一個sonar使用者,設定使用者名稱賬號密碼為sonar:

  CREATE USER 'sonar' IDENTIFIED BY 'sonar';

 2.2.3 把已建立的資料庫sonar的所有許可權賦予給sonar使用者:

  GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

FLUSH PRIVILEGES;

 

檢視當前所有資料庫名語句: show databases;

為了方便,可以準備一個Navicat Premium去檢視,剛建立的庫是沒有表資料的,配置完後面步驟後,啟動SonarQube後,會把表資料寫入到sonar資料庫;

 

 

2.3  SonarQube環境配置

            2.3.1 編輯sonar.properties檔案

找到解壓好的檔案:

開啟後編輯,加入以下程式碼。大概加再28行後就行了

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?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

程式碼解析:

第一行sonar.jdbc.url: 連結myslq資料庫地址,資料庫名。sonar問號後面是格式相關;

                   第二/三行: mysql的賬號/密碼;

                   第四行: 支援的編碼格式;

                   第五/六行: sonar登入時的賬號密碼;預設就是admin

                  

                   2.3.2 啟動SonarQube

                   以上配置好之後,找到bin\window-x86-64 下的StartSonar.bat啟動

啟動成功頁面:

 

在瀏覽器輸入: localhost:9000

以下圖是因為跑過程式碼了有資料,點登入即可到登入頁面;

輸入admin/admin登入;

 

2.3.3 漢化SonarQube

登入後 先去漢化:

英文版的找對應位置,在關鍵字輸入Chineses Pack  Install,漢化完成後,重新開啟頁面就是漢化版的了;

 

若正常開啟操作完以上步驟,再去看看sonar資料庫,即有表資料了;

 

2.4  sonar-scanner環境配置

            2.4.1 配置系統環境變數

新建變數名: SONAR_RUNNER_HOME

變數值: D:\sonar-scanner-3.3.0.1492-windows   (安裝包解壓的路徑)

             Path :%SONAR_RUNNER_HOME%\bin

 

                   2.4.2 驗證sonar-scanner是否安裝完成:

                   使用cmd輸入: sonar-scanner –v

 

2.4.3 編輯sonar-scanner.properties檔案

開啟之後,加入以下程式碼

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

sonar.jdbc.username=root

sonar.jdbc.password=root

#----- Default source code encoding

sonar.sourceEncoding=UTF-8

 

注意最後一句程式碼可以取消的原來的註釋;程式碼解析參考已編輯過的sonar.properties檔案

 

 

三. 專案程式碼質量掃描

3.1  配置sonar-project.properties檔案

                   通過SVN或是Git下載好所需要掃描的專案;

                   在專案的根目錄,有pom.xml的根目錄下建立一個 sonar-project.properties檔案

                   加入以下程式碼:       

                  

程式碼解析:

# Required metadata

sonar.projectKey=這裡填寫專案的名稱 比如,你down下來的專案叫test就填test

sonar.projectName= 填寫和Key一樣的名稱即可

sonar.projectVersion=3.3 專案版本可以任意填寫

# Comma-separated paths to directories with sources (required)

sonar.sources=填寫專案Down下來的位置 比如: D:/test

#sonar.binaries=

# Language

sonar.language=java

# Encoding of the source files

sonar.sourceEncoding=UTF-8

sonar.java.binaries=填寫專案Down下來的位置 比如: D:/test

                  

                   填寫完成後,儲存;

                    

3.2  執行專案掃描

                   開啟cmd,進入專案的根目錄,比如D:/test

                   再輸入sonar-scanner 即可;

                   掃描成功後:     

   

四.檢視掃描報告

 重新登入 http://localhost:9000 即可檢視到專案掃描的報告:

點選問題可檢視更詳細的報告:

相關文章