zoukankan      html  css  js  c++  java
  • 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'
    }

    
    }
  • 相关阅读:
    centos6 LVS-DR模式---分析
    centos6.6 安装 LXC
    Amoeba-mysql读写分离实战
    keepalived +mysql 实战
    nginx添加sticky模块-cookie保持会话
    haproxy转发真实IP给web
    Mysql-如何正确的使用索引以及索引的原理
    Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)
    Mysql-常用数据的基本操作和基本形式
    Mysql-多表连接的操作和用法
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/11016743.html
Copyright © 2011-2022 走看看