系列目录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