嗨,我想让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'
}
}
}
}