一 【官網】
https://www.sonarqube.org/
二 【介紹】
SonarQube®是一種自動代碼審查工具,可檢測代碼中的錯誤,漏洞和代碼味道。它可以與您現有的工作流程內建,以實作跨項目分支和提取請求的連續代碼檢查。
在典型的開發過程中:
- 開發人員在IDE中開發和合并代碼(最好使用SonarLint在編輯器中接收即時回報),然後将其代碼簽入ALM。
- 組織的持續內建(CI)工具可以檢出,建構和運作單元測試,而內建的SonarQube掃描器可以分析結果。
- 掃描程式将結果釋出到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插件。
4.2 系統配置
4.3 jenkins 建構頁面配置
配置參數
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 ''' } } |
---|