持续集成高级篇之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结合章节我们详细介绍过,这里不再赘述.

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

时间: 2024-07-28 23:37:56

持续集成高级篇之Jenkins Pipeline 集成sonarqube的相关文章

持续集成高级篇之Jenkins Pipeline git拉取

系列目录 PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如何在PipeLine任务中拉取git仓库代码. node{ stage("check out"){ git credentialsId: '3c210def-c000-4e2a-9b2d-838986a6b172', url: 'https://github.com/mrtylerzhou

持续集成高级篇之Jenkins cli与Jenkins ssh

系列目录 Jenkins Cli介绍 Jenkins Cli为Jenkins提供的一个cli工具,此工具功能非常强大,可以完成诸如重启jenkins,创建/删除job,查看job控制台输出,添加/删除节点等功能.但是实际工作中,像创建任务这样的配置显然cli非常吃力,不如直接在web管理界面操作,但是对于重启Jenkins,查看诊断信息等,执行一个手动构建任务等,则直接使用cli比进入web管理界面操作更加方便.因此什么时候web管理界面,什么时候使用cli,要看是否有利于提升生产力,是否有利于

持续集成高级篇之Jekins参数传入与常见任务

系列目录 有的童鞋可能已经发现,PipeLine项目与自由式项目相比,可配置的项少了很多,比如说环境变量定义,所有步骤完成后执行动作,拉git代码库等.其实这些功能并没有缺,而是配置的方式不一样了,以前是通过图形化界面配置,虽然直观简便,但是功能不能包罗万像,对于一些复杂的项目显得捉襟见肘,而Jenkins PipeLine使用代码配置功能更加强大.以后的章节中我们会介绍常用的配置如何通过PipeLine里的Groovy脚本来实现. 前面讲参数化构建的时候已经讲到对于复杂的构建把一些重复的,常用

jfrog artifactory jenkins pipeline 集成

1. 预备环境 artifactory ( 开源版本 ) maven jenkins jenkins artifactory plugin (在插件管理安装即可) 2. 配置artifactory a. maven local 仓库 b. jenkins 配置(添加 artifactory 账户信息) 3.  jenkins  pipeline 配置(实例使用github 实例) jenkinsfile 内容如下: node("docker-64") { def server = Ar

持续集成高级篇之基于win32-openssh搭建jenkins混合集群(一)

系列目录 前面的demo我们使用的都是只有一个windows主节点的的jenkins,实际生产环境中,一个节点往往是不能满足需求的.比如,.net项目要使用windows节点构建,java项目如果部署在linux服务器上往往也需要目标类型的linux节点做为构建节点,开发中使用的jdk版本不同也可能需要不同的构建主机.构建docker镜像往往也需要linux主机(强烈不建议使用docker for windows 进行linux环境的docker构建).本节我们讲解如何搭建一个主节点为windo

gitlab+jenkins+maven+docker持续集成(七)——.Jenkins Pipeline持续集成

Pipeline的几个基本概念: Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作.注意,Stage是一个逻辑分组的概念,可以跨多个Node. Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境. Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供 新建pipeline项目 进入配置 这里要参考

持续集成高级篇之Jekins参数化构建(二)

系列目录 上一节我们讲解了如何使用bat脚本或者powershell脚本自身的机制来达到参数化构建的目的,这在一定程序上增加了灵活性,然而缺点也相当明显:它只能适应一些相对比较固定的参数传入(比如像上一节讲到的,构建的环境分为(development和production)两种情况,对于一些相对较复杂的情况以上方法就会捉襟见肘,最为明显问题是外部的变化可能导致参数随之做必要更改,最常见的是文件的位置参数,我们指定归档文件的目录为D盘下的一个文件夹,现在D盘满了需要指定为其它盘,则所有的脚本都需要

基于Jenkins Pipeline的ASP.NET Core持续集成实践

原文:基于Jenkins Pipeline的ASP.NET Core持续集成实践 最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署,因此这里总结一下. 一.关于持续集成与Jenkins Pipeline 1.1 持续集成相关概念 互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI) . 持续集成指的是,频繁地 (一天多次) 将代码集成到

(持续集成)win7上部署Jenkins+MSBuild+Svn+SonarQube+SonarQube Scanner for MSBuild (一)

一.Jenkins介绍 jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成. jenkins官网地址为https://jenkins.io/index.html,jen