通过pipeline配置sonar自动化实现过程解析

1.sonar配置webhooks,

2.url填写jenkins的地址:http://jenkinsurl/sonarqube-webhook/

3.前提:jenkins配置好sonar的scanner服务地址

node {
  stage('gitcheckout') {
    echo 'This is a gitcheckout step'
        checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'git-', url: 'http://gitlab..com/qingzhu-dev/workflow.git']]]
  }
  stage('sonar') {
     echo 'This is a sonar step'
     def sonarqubeScannerHome = tool name: 'sonar-scanner'
     echo sonarqubeScannerHome
        withSonarQubeEnv('sonar') {
        sh "${sonarqubeScannerHome}/bin/sonar-scanner -X "+
        "-Dsonar.host.url=${SONAR_HOST_URL} " +
        "-Dsonar.language=java " +
        "-Dsonar.projectKey=workflow " +
        "-Dsonar.projectName=workflow " +
        "-Dsonar.projectVersion=$BUILD_NUMBER " +
        "-Dsonar.sources=src/ " +
        "-Dsonar.sourceEncoding=UTF-8 " +
        "-Dsonar.java.binaries=target/ " +
        "-Dsonar.exclusions=src/test/** " 

     }
  }
  stage("QualityGate") {
    echo 'QualityGate'
    // timeout(time: 1, unit: "HOURS") {    // 防止获取回调出现异常情况,设置超时时间
    //   def qg = waitForQualityGate()
    //   if (qg.status != 'OK') {
    //     error "Pipeline aborted due to quality gate failure: ${qg.status}"
    //   }
    // }
  }

  stage('Build') {
    echo 'This is a build step'
    sh "/var/jenkins_home/apache-maven-3.6.0/bin/mvn clean package -U dockerfile:build dockerfile:push -Ptest -D maven.test.skip=true -f pom.xml -Dimage.tag=v$BUILD_NUMBER"
  }
   stage('Deploy') {
    echo 'This is a deploy step'
    sh "${dp}"
  }
  stage('Test') {
    echo 'This is a test step'
        checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/qiaojiafei']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'git-', url: 'http://gitlab..com/qz-qa/qingzhucrmtest.git']]]
        sh '/var/jenkins_home/apache-maven-3.6.0/bin/mvn clean test -DfailIfNoTests=false -Ptest'
  }
stage('report'){    echo 'This is a report'      allure includeProperties: false, jdk: 'jdk1.8', results: [[path: 'allure-results']]    sh 'rm -rf allure-report'    sh 'rm -rf allure-results'  }  stage('email'){    emailext body: 'test', subject: 'test', to: 'gexinwei@meizhu365.com'  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python中sklearn的pipeline模块实例详解

    最近在看<深度学习:基于Keras的Python实践(魏贞原)>这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先标准化数据集,然后创建和评估基线神经网络模型,代码如下: # 数据正态化,改进算法 steps = [] steps.append(('standardize', StandardScaler())) steps.append(('mlp', model)) pipeline = Pipeline(steps) kfold = KFold(n_splits

  • Jenkins插件pipeline原理及使用方法解析

    摘要: pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 一,安装pipeline 进入jenkins的[系统管理]--[插件管理]页面,选择[可选插件]然后搜索pipeline. 然后选择直接安装,它会将依赖的一些插件也一并安装.安装完成后重启jenkins就可以使用了.

  • PHP Pipeline 实现中间件的示例代码

    Pipeline 设计模式 水管太长,只要有一处破了,就会漏水了,而且不利于复杂环境弯曲转折使用.所以我们都会把水管分成很短的一节一节管道,然后最大化的让管道大小作用不同,因地制宜,组装在一起,满足各种各样的不同需求. 由此得出 Pipeline 的设计模式,就是将复杂冗长的流程 (processes) 截成各个小流程,小任务.每个最小量化的任务就可以复用,通过组装不同的小任务,构成复杂多样的流程 (processes). 最后将「输入」引入管道,根据每个小任务对输入进行操作 (加工.过滤),最

  • 使用scrapy ImagesPipeline爬取图片资源的示例代码

    这是一个使用scrapy的ImagesPipeline爬取下载图片的示例,生成的图片保存在爬虫的full文件夹里. scrapy startproject DoubanImgs cd DoubanImgs scrapy genspider download_douban  douban.com vim spiders/download_douban.py # coding=utf-8 from scrapy.spiders import Spider import re from scrapy

  • Jenkins Pipeline 部署 SpringBoot 应用的教程详解

    一. 安装依赖包 yum install -y wget yum install -y gcc-c++ yum install -y zlib-devel perl-ExtUtils-MakeMaker yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker yum install -y openssh-clients yum install

  • 使用Jenkins Pipeline自动化构建发布Java项目的方法

    简介 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变. 一,创建pipeline项目 二,清除部分历史构建 三,参数化构建 这里使用三个参数,分别对应是否拉取代码,项目名称,以及发版选项 四,编写pipeline脚本 选择pipeline script 编写pipelin

  • 如何使用pipeline和jacoco获取自动化测试代码覆盖率

    1下载jacoco,并上传至服务器:https://www.eclemma.org/jacoco/ 2.应用服务tomcat的catalina.sh增加jacocoagent #JAVA_OPTS="$JAVA_OPTS -javaagent:/Users/qiaojiafei/Documents/work/jacoco/jacoco-0.8.3/lib/jacocoagent.jar=includes=*,classdumpdir=classes,output=tcpserver,addres

  • 通过pipeline配置sonar自动化实现过程解析

    1.sonar配置webhooks, 2.url填写jenkins的地址:http://jenkinsurl/sonarqube-webhook/ 3.前提:jenkins配置好sonar的scanner服务地址 node { stage('gitcheckout') { echo 'This is a gitcheckout step' checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], d

  • Spring Boot2配置服务器访问日志过程解析

    这篇文章主要介绍了Spring Boot2配置服务器访问日志过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Tomcat控制台中看到的日志是服务器的日志,而服务器访问日志则是记录服务处理的请求信息. 开发环境:IntelliJ IDEA 2019.2.2 Spring Boot版本:2.1.8 1.新建一个名称为demo的Spring Boot项目. 2.application.yml 添加配置 server: tomcat: base

  • Django项目基础配置和基本使用过程解析

    这篇文章主要介绍了Django项目基础配置和基本使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在需要的目录下创建Django项目输入命令:django-admin startproject 项目名称 创建完成后在pycharm下Terminal中输入命令:Python manege.py startapp app名称 (新建Django的APP项目) 一.Django的相关配置 Django项目 setting 配置: 1.tem

  • 基于Tcl语言配置简单网络环境过程解析

    1. Tcl脚本文件circle.tcl代码注释 #设定模拟需要的一些属性 set val(chan) Channel/WirelessChannel set val(prop) Propagation/TwoRayGround set val(netif) Phy/WirelessPhy set val(mac) Mac/802_11 #将协议设置为 DSR 后,同时将队列设置为 CMUPriQueue set val(ifq) CMUPriQueue set val(ll) LL set v

  • spring cloud config 配置中心快速实现过程解析

    spring-cloud-config 配置中心实现 Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为server端和client端. server端为分布式配置中心,是一个独立的微服务应用:client端为分布式系统中的基础设置或微服务应用,通过指定配置中心来管理相关的配置. Spring Cloud Config 构建的配置中心,除了适用于 Spring 构建的应用外,也可以在任何其他语言构建的应用中使用. Spring Clou

  • SpringBoot配置及使用Schedule过程解析

    我们在平常项目开发中,经常会用到周期性定时任务,这个时候使用定时任务就能很方便的实现.在SpringBoot中用得最多的就是Schedule. 一.SpringBoot集成Schedule 1.依赖配置 由于Schedule就包含在spring-boot-starter中,所以无需引入其他依赖. 2.启用定时任务 在启动类或者配置类上增加@EnableScheduling注解. import org.springframework.boot.SpringApplication; import o

  • SpringBoot配置lombok与logback过程解析

    一 什么是lombok 在写Java程序的时候经常会遇到如下情形:新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter,setter方法还有构造函数等 . lombok项目的产生就是为了省去我们手动创建getter和setter方法的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter方法. 即它最终能够达到的效果是:在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法. 二 lombo

  • Springboot前后端分离项目配置跨域实现过程解析

    项目登录流程如下 用户进入前端登录界面,输入账号密码等,输入完成之后前端发送请求到后端(拦截器不会拦截登录请求),后端验证账号密码等成功之后生成Token并存储到数据库,数据库中包含该Token过期时间,然后返回生成的Token到前端. 前端收到Token,表示登录成功,把这个Token存储本地.然后跳转到用户中心页面,用户中心页面在ajax的请求头中带上Token,跟随请求用户数据接口一起带到后端. 后端通过拦截器拦截到这个请求,去判断这个Token是否有效,有效就放过去做他该做的事情,无效就

  • Jenkins节点配置实现原理及过程解析

    1.配置代理 系统管理---configure Global Security(全局安全设置)---Tcp port for inbound agents---指定端口 服务器防火墙中开放此端口(linux版) 关闭电脑防火墙(windows版) 点击 agent protocols---勾选Java Web Start Agent Protocol4 2.添加节点 系统管理---管理节点 新建节点---输入节点名称(node2)---勾选Permanent Agent 添加节点(可以理解为是一

  • Python环境配置实现pip加速过程解析

    背景 学习 Python 的话,仅掌握标准库是远不够的,有很多好用的第三方库我们也需要用到的,比如,由鼎鼎大名的 K 神开发的爬虫必不可少的 requests 库,一般都是必装的库吧.安装第三方库当然还是用 pip 命令安装最方便了. 但是,大家发现 pip install + 包名 的方式 安装第三方库的时候,下载速度很慢,有时还会超时,遇到第三方库比较大时候,是真的很慢,我刚开始学 Python 的时候,我就大意了,没想到这么慢.话说有时都提裤子了,它却报安装超时了...咳咳,言归正传,今天

随机推荐