系列目錄html
前面章節中咱們講到了Sonarqube的使用,其實Sonarqube獲取msbuild結果主要是執行三個命令,開始標記,執行msbuild,結束標記,這些都是命令,是很是容易集成到咱們ci流程中的,可是使用這種方式最爲簡單,可是Sonarqube插件與jenkins集成的更好,咱們能夠經過jenkins頁面看到構建結果是否成功,以及能夠經過連接輕鬆地跳到Sonarqube web管理界面.前面章節咱們介紹瞭如何在自由式任務中使用sonarqube插件,這裏咱們講下如何在pipeline中使用sonarqube插件.node
仍是直接先上代碼web
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命令.ui
以上第一行代碼經過 tool 關鍵字獲取到了sonar scanner for msbuild
插件的路徑,前面咱們講到過它,它是在Manage Jenkins>Global Tool Configuration>SonarScanner for MSBuild
中定義的defaultSonarforMsbuild
即爲這個定義的名稱.url
下面 withSonarQubeEnv
表示要使用sonarqube環境變量,傳入的參數defaultSonarserver
是在Manage jenkins>configure system>SonarQube servers
中定義的名稱.插件
如下bat命令即爲要執行的bat命令,前面Jenkins與Sonarqube結合章節咱們詳細介紹過,這裏再也不贅述.code