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'
    }

    
    }
  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/11016743.html
Copyright © 2011-2022 走看看