天天看點

sonarqube源代碼靜态分析工具部署

一 【官網】

https://www.sonarqube.org/

二 【介紹】

SonarQube®是一種自動代碼審查工具,可檢測代碼中的錯誤,漏洞和代碼味道。它可以與您現有的工作流程內建,以實作跨項目分支和提取請求的連續代碼檢查。

在典型的開發過程中:

  1. 開發人員在IDE中開發和合并代碼(最好使用SonarLint在編輯器中接收即時回報),然後将其代碼簽入ALM。
  2. 組織的持續內建(CI)工具可以檢出,建構和運作單元測試,而內建的SonarQube掃描器可以分析結果。
  3. 掃描程式将結果釋出到SonarQube伺服器,該伺服器通過SonarQube接口,電子郵件,IDE内通知(通過SonarLint)和對拉取或合并請求的修飾(使用Developer Edition及更高版本時)向開發人員提供回報。

三 【部署】

最新版本:社群版

docker.io/sonarqube:8.7-community

docker部署方式  

8 以上的版本不支援mysql作為資料庫,本地為開發環境,是以使用了預設的h2資料庫

docker run -d --name sonarqube-8.7 -p 9000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs docker.io/sonarqube:8.7-community

漢化插件:sonar-l10n-zh-plugin-1.16.jar

挂載路徑:/data/sonarqube/extensions/plugins/

重新開機docker生效

四 【jenkins接入】

4.1 程式流部署,安裝jenkins插件。

sonarqube源代碼靜态分析工具部署

4.2 系統配置

sonarqube源代碼靜态分析工具部署

4.3 jenkins 建構頁面配置

sonarqube源代碼靜态分析工具部署

配置參數

sonar.projectKey=servername

sonar.projectName=servername

sonar.projectVersion=1.0

sonar.language=java

sonar.sourceEncoding=UTF-8

sonar.sources=$WORKSPACE

sonar.java.binaries=$WORKSPACE

五 【jenkins+pipeline+sonarqube】

stage('SonarQube analysis') {

steps{

sh '''

mvn -f pom.xml clean compile sonar:sonar -Dsonar.host.url=http://192.168.1.1:9000 -Dsonar.login=96cf21c5c154f35a4df296e441d7053114ba2079

''' }

}

繼續閱讀