SonarQube-jenkins

pipeline {
    agent { node { label "maven" } }
    options {
        buildDiscarder(logRotator(numToKeepStr: '3'))
    }
    parameters {
        gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
        choice(name: 'Option_parameters', choices: ['false', 'true'], description: '是否开启代码扫描')
    }
    stages {
        stage('代码拉取') {
            steps {
                script {
                    checkout scmGit(branches: [[name: "${BRANCH}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'aliyun', url: 'https://codeup.aliyun.com/glr/cems/cems-auth.git']])
                }
            }
        }
        stage('代码编译') {
            steps {
                script {
                    sh "mvn clean install package -Dmaven.test.skip=true"
                }
            }
        }
        stage('代码扫描') {
            when {
                expression { params.Option_parameters == 'true' }
            }
            steps {
                // 执行 SonarQube 静态代码分析
                withSonarQubeEnv('SonarQubeServer') {
                    sh "mvn sonar:sonar" 
                }
            }
        }
        stage('制品上传') {
            steps {
                script {
                    sh "cp -rf target/cems-*.jar /mnt"
                }
            }
        }
    }
}

 

posted @ 2024-03-09 12:56  beawh  阅读(5)  评论(0编辑  收藏  举报