码迷,mamicode.com
首页 > 其他好文 > 详细

持续集成高级篇之Jenkins Pipeline 集成sonarqube

时间:2019-09-03 09:31:16      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:默认   configure   line   defaults   std   列目录   nod   获取   详细   

系列目录

前面章节中我们讲到了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

标签:默认   configure   line   defaults   std   列目录   nod   获取   详细   

原文地址:https://www.cnblogs.com/tylerzhou/p/11450847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!