持续集成高级篇之Jenkins Pipeline 集成sonarqube
Posted tylerzhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成高级篇之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结合章节我们详细介绍过,这里不再赘述.
以上是关于持续集成高级篇之Jenkins Pipeline 集成sonarqube的主要内容,如果未能解决你的问题,请参考以下文章
持续集成高级篇之基于win32-openssh搭建jenkins混合集群
gitlab+jenkins+maven+docker持续集成——.Jenkins Pipeline持续集成