企業DevOps之路:SonarQube程式碼質量平臺
1. SonarQube 概述
SonarQube 是一個靜態程式碼分析平臺,用來持續分析和評測程式碼的質量,支援檢測 Java、JavaScript、C#、C、C++ 等二十幾種程式語言。通過 SonarQube 可以檢測出專案中潛在的Bug、漏洞、程式碼規範、重複程式碼、缺乏單元測試的程式碼等問題,並提供了 UI 介面進行檢視和管理。
SonarQube 由4部分構成:
-
SonarQube Server
SonarQube Server 會啟動3個主要程序:Web Server:UI 管理介面 Search Server:基於 Elasticsearch 的搜尋服務 Compute Engine Server
-
SonarQube Database
儲存 SonarQube 例項的配置資訊,專案、檢視等的快照資訊
-
SonarQube Scanners
分析專案程式碼,可在構建、持續整合伺服器上執行一個或多個
-
SonarQube Plugins
SonarQube 外掛管理
架構如下:
2. SonarQube 安裝
在安裝 SonarQube 之前,需要先安裝 jdk(jdk版本11及以上版本)和 PostgreSQL(最新版已經不支援MySQL資料庫了)
-
下載
https://www.sonarqube.org/downloads/
因為 SonarQube 分為社群版和商業版。下載社群版
下載完是一個zip壓縮包,直接解壓介面。這裡解壓到以下目錄
C:\jenkins\sonarqube-9.3.0
-
建立資料庫
建立 SonarQube 服務連線的資料庫,庫名為sonar
-
配置
修改 SonarQube 的 資料庫配置,對應的配置檔案如下:
C:\jenkins\sonarqube-9.3.0\conf\sonar.properties
增加如下配置
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public
3. 啟動 SonarQube
SonarQube 服務的啟動指令碼在如下目錄
C:\jenkins\sonarqube-9.3.0\bin
根據不同平臺選擇不同啟動指令碼。目前安裝在windows系統,所以對應的啟動指令碼
C:\jenkins\sonarqube-9.3.0\bin\windows-x86-64\StartSonar.bat
啟動成功提示如下
對應的 sonar 資料庫會自動增加很多 SonarQube 服務的表結構
4. 訪問 SonarQube 服務
SonarQube 服務的預設埠是9000,訪問如下地址
http://localhost:9000
預設登入賬號/密碼:admin / admin。登入後的第一步就是修改 admin 使用者的密碼,根據實際情況修改自己的密碼即可。進入首頁如下:
至此,SonarQube 服務已正常搭建。