SonarQube 概述與安裝
SonarQube 概述
是一種自動程式碼審查工具,用於檢測程式碼中的錯誤、漏洞和程式碼異味。它可以與您現有的工作流程整合,以支援跨專案分支和拉取請求的持續程式碼檢查。
在一個典型的開發過程中
開發人員在 IDE 中開發和合並程式碼(最好使用SonarLint在編輯器中接收即時反饋)並將他們的程式碼簽入到他們的 ALM。
組織的持續整合 (CI) 工具檢查、構建和執行單元測試,整合的 SonarQube 掃描器分析結果。
掃描器將結果釋出到 SonarQube 伺服器,該伺服器通過 SonarQube 介面、電子郵件、IDE 內通知(通過 SonarLint)以及對拉取或合併請求的修飾(使用Developer Edition及更高版本時)向開發人員提供反饋。
安裝SonarQube
SonarQube 的三種程序
為 SonarQube 使用者介面提供服務的 Web 伺服器-SonarQube
在您的構建或持續整合伺服器上執行的一個或多個掃描器來分析專案-sonarscanner
儲存s掃描資訊的資料庫-PostgreSQL
從 ZIP 檔案安裝 SonarQube
下載連結:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.1.44547.zip
SonarQube 不能在root基於 Unix 的系統上執行,因此請為 SonarQube 建立一個專用使用者帳戶
$SONARQUBE-HOME(如下)指的是 SonarQube 發行版解壓後的目錄路徑。
設定對資料庫的訪問
編輯$SONARQUBE-HOME/conf/sonar.properties以配置資料庫設定,只需取消註釋並配置您需要的模板
例如使用:PostgreSQL資料庫,則進行如下修改
sonar.jdbc.username=sonarqube
sonar.jdbc.password=mypassword
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
新增 JDBC 驅動程式
配置 Elasticsearch 儲存路徑
編輯$SONARQUBE-HOME/conf/sonar.properties以配置以下設定:
sonar.path.data=/var/sonarqube/data sonar.path.temp=/var/sonarqube/temp
用於啟動 SonarQube 的使用者必須對這些目錄具有讀寫許可權。
啟動 Web 伺服器
預設埠為“9000”,上下文路徑為“/”。
這些值可以在$SONARQUBE-HOME/conf/sonar.properties 中更改:
sonar.web.host=192.168.0.1
sonar.web.port=80
sonar.web.context=/sonarqube
執行以下指令碼來啟動伺服器:
在 Linux 上:bin/linux-x86-64/sonar.sh start
在 macOS 上:bin/macosx-universal-64/sonar.sh start
在 Windows 上:bin/windows-x86-64/StartSonar.bat
您現在可以在http://localhost:9000瀏覽 SonarQube (預設系統管理員憑據是admin/ admin)。
調整 Java 安裝
如果您的伺服器上安裝了多個 Java 版本,您可能需要明確定義所使用的 Java 版本。
要更改 SonarQube 使用的 Java JVM,請編輯$SONARQUBE-HOME/conf/wrapper.conf並更新以下行:
wrapper.java.command=/path/to/my/jdk/bin/java