SonarQube Community 實現多分支掃描分析


背景

同一個 Git 項目,需要分析多個分支的代碼掃描。

說明

SonarQube Community 版本不支持多分支掃描,

SonarQube Developer Edition 及以上版本是支持多分支掃描的,掃描時指定分支參數-Dsonar.branch=develop即可,就可以實現多分支代碼掃描。

$ mvn clean verify sonar:sonar -Dmaven.test.skip=true -Dsonar.branch=master

社區版多分支掃描

經過搜索和分析 Sonar 掃描原理,目前有2種方式可以實現。

  • 開源插件:sonarqube-community-branch-plugin
  • 替換 sonar.projectKey,porjectKey 相等於 Sonar 中每個項目的主鍵 ID,替換后就會以新項目創建

PS: 由於我使用的是 SonarQube 最新版本,目前開源插件還未支持,就暫時使用了第二種。

開源插件

插件地址:https://github.com/mc1arke/sonarqube-community-branch-plugin

大致操作步驟:

  • 下載插件放到${SONAR_HOME}/extensions/plugins目錄下,重啟 Sonar。
  • 掃描時,增加-Dsonar.branch.name=${GIT_BRANCH}即可。

替換 sonar.projectKey

掃描時,指定不同的 sonar.projectKey 即可。

# jenkins 設置 projectName,projectKey 為 job 名稱
# job 名稱規范: 工程名稱-分支名稱
$ clean verify sonar:sonar -Dmaven.test.skip=true -Dsonar.projectName=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME}

微信公眾號:daodaotest


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM