无法让Sonarqube与Jenkins合作。抛出“在JAVA_HOME或PATH中找不到'java'可执行文件”

时间:2019-11-29 17:59:04

标签: docker jenkins sonarqube jenkins-pipeline sonarscanner

嗨,我想让Sonarqube与Jenkins合作。我的jenkins作为docker映像运行,而Sonarqube服务器作为两个独立的docker映像在我的主机上运行。我正在使用Jenkins的SonarScanner插件来扫描我的项目。但是,当我尝试运行管道时,“ / var / jenkins_home / tools / hudson.plugins.sonar.SonarRunnerInstallation / test / bin / sonar-scanner” bash脚本返回错误could not find 'java' executable in JAVA_HOME or PATH

这很奇怪,因为我可以在Jenkins容器中成功echo JAVA_HOME。但是,当我尝试在bash脚本中使用echo时,它什么也不返回。我还尝试在脚本内手动设置JAVA_HOME变量,但发现该脚本无法执行Java。我还遵循了这篇文章的建议:

Jenkins pipeline for react could not find 'java' executable in JAVA_HOME or PATH

,但仍然无法正常工作。这是我的詹金斯管道脚本

pipeline {
    agent {
        docker {
            image 'node:6-alpine'
            args '-p 3000:3000'
        }
    }
    environment { 
        CI = 'true'
        scannerHome = tool 'test'
    }
    stages {
        stage('Build') {
            steps {
                sh 'npm install'
            }
        }
        stage('SonarQube analysis') {
            agent{ docker { image 'openjdk' }  }
            steps{
                withSonarQubeEnv('sonar') { 
                    sh "${scannerHome}/bin/sonar-scanner"
                }
            }
        }
        stage('Test') {
            steps {
                sh './jenkins/scripts/test.sh'
            }
        }
        stage('Deliver') { 
            steps {
                sh './jenkins/scripts/deliver.sh' 
                input message: 'Finished using the web site? (Click "Proceed" to continue)' 
                sh './jenkins/scripts/kill.sh' 
            }
        }
    }
}

0 个答案:

没有答案