1. 程式人生 > 其它 >企業DevOps之路:SonarQube程式碼質量平臺

企業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 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 服務已正常搭建。