一、簡介
sonarqube支持集成到CI工具中,如Jenkins, Azure DevOps server等,我們以Jenkins為例;
二、配置
sonarqube可以集成到項目的部署流程中,也可以單獨部署,此處因需要,我們使用的是單獨部署,不影響項目的部署流程;
在Jenkins>Manage jenkins>Manage Plugins中搜索sonarqube,安裝SonarQube Scanner for Jenkins插件;
重啟Jenkins后,在Manage jenkins>Global Tool Configuration中配置Sonarquebe Scanner
在sonarqube頁面中,點擊用戶頭像,點擊我的賬號;在新頁面中,點擊“安全”table,輸入令牌名稱,點擊生成,生成令牌文件;此令牌文件用於Jenkins和sonarqube通信的安全驗證,且此令牌內容只顯示一次,及時保存在其他文本中,避免遺失;
在Jenkins中配置sonarqube server
Manage jenkins>Configure system,新增sonarqube server服務;
其中,token需要使用secret text類型的憑據,將sonarqube生成的令牌粘貼到Secret中;
三、使用
目標:可自由選擇分支,手動選擇要分析的項目分支;
創建一個freestyle的項目,名稱自定義,在項目配置中進行如下配置
1,分支選擇配置,如下圖
如果沒有此選項,需要安裝Git Parameter插件;
2,配置git
3,配置build
#sonar工程標識,隨意輸入不重復有代表意義即可
sonar.projectKey=bi_build_sonar
#sonar工程標識,隨意輸入不重復有代表意義即可
sonar.projectName=bi_build_sonar
#sonar工程版本號
sonar.projectVersion=1.0
#源代碼路徑,依據需要可在$WORKSPACE后加入目標路徑,縮小分析范圍;
sonar.sources=$WORKSPACE
#class文件路徑,依據需要可在$WORKSPACE后加入目標路徑,縮小分析范圍;
sonar.java.binaries=$WORKSPACE
4,執行
點擊build with parameters,選擇分支,點擊build;
分析完成,點擊SonarQube,即可進入sonarqube服務中,查看代碼分析的結果;