pipeline {
    agent any
    
    tools {
        jdk 'jdk-17'
    }
    
    environment {
        SONAR_PROJECT_KEY = 'sonar-pipeline'
        SONAR_SCANNER_HOME = tool 'SonarScanner'
        // 使用 JAVA_HOME 指向 JDK 根目录
        JAVA_HOME = tool 'jdk-17'
        // 在 PATH 中包含 ${JAVA_HOME}/bin
        PATH = "${JAVA_HOME}/bin:${env.PATH}"
        SONAR_USER = 'admin'
        SONAR_PASSWORD = 'Skr123456'
    }

    stages {
        stage('Checkout') {
            steps {
                // 检出代码
                echo 'checkout'
            }
        }
        
        stage('Build') {
            steps {
                // 构建代码
                echo 'go build'
            }
        }
        
        stage('Test') {
            steps {
                // 运行测试
                echo 'go test'
            }
        }
        
        stage('Debug') {
            steps {
                echo '------------JAVA VERSION'
                sh 'java -version'
                echo '------------JAVA_HOME'
                sh 'echo $JAVA_HOME'
                echo '------------PATH'
                sh 'echo $PATH'
                echo '------------JAVA'
                sh 'which java'
            }
    }

        stage('SonarQube Analysis') {
            steps {
                script {
                    withSonarQubeEnv(credentialsId: 'sonar', installationName: 'SonarQubeServer') {
                        echo 'go sonarqube'
                        // 执行 SonarQube 扫描步骤
                        sh "${SONAR_SCANNER_HOME}/bin/sonar-scanner -Dsonar.login=${SONAR_USER} -Dsonar.password=${SONAR_PASSWORD} -Dsonar.projectKey=${SONAR_PROJECT_KEY}"

                    }
                }
            }
        }
    }
}
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐