持續集成高級篇之Jenkins Pipeline 集成sonarqube


系列目錄

前面章節中我們講到了Sonarqube的使用,其實Sonarqube獲取msbuild結果主要是執行三個命令,開始標記,執行msbuild,結束標記,這些都是命令,是非常容易集成到我們ci流程中的,但是使用這種方式最為簡單,但是Sonarqube插件與jenkins集成的更好,我們可以通過jenkins頁面看到構建結果是否成功,以及可以通過鏈接輕松地跳到Sonarqube web管理界面.前面章節我們介紹了如何在自由式任務中使用sonarqube插件,這里我們講下如何在pipeline中使用sonarqube插件.

還是直接先上代碼

node {
 def sqScannerMsBuildHome = tool 'defaultSonarforMsbuild'
  stage('SonarQube analysis') {
    withSonarQubeEnv('defaultSonarserver') {
      echo "\"默認地址是:${sqScannerMsBuildHome}\""
      bat "\"${sqScannerMsBuildHome}\\SonarQube.Scanner.MSBuild.exe\" begin /k:jenkinstest /n:jenkinstest /v:110.0 /d:sonar.host.url=http://localhost:9000"
      bat "MSBuild.exe TestDemoClass\\testdemo\\testdemo.sln"
      bat "\"${sqScannerMsBuildHome}\\SonarQube.Scanner.MSBuild.exe\" end"
    }
  }
}

以上的三個bat命令不用關心,前面使用自由式任務的時候也執行的是這樣的bat命令.

以上第一行代碼通過 tool 關鍵字獲取到了sonar scanner for msbuild插件的路徑,前面我們講到過它,它是在Manage Jenkins>Global Tool Configuration>SonarScanner for MSBuild中定義的defaultSonarforMsbuild即為這個定義的名稱.

下面 withSonarQubeEnv表示要使用sonarqube環境變量,傳入的參數defaultSonarserver是在Manage jenkins>configure system>SonarQube servers中定義的名稱.

以下bat命令即為要執行的bat命令,前面Jenkins與Sonarqube結合章節我們詳細介紹過,這里不再贅述.


免責聲明!

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



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