用于响应的Jenkins管道在JAVA_HOME或PATH中找不到'java'可执行文件 [英] Jenkins pipeline for react could not find 'java' executable in JAVA_HOME or PATH

查看:654
本文介绍了用于响应的Jenkins管道在JAVA_HOME或PATH中找不到'java'可执行文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行詹金斯管道.在最后一步,我的声纳分析引发了一个错误:

I'm running a jenkins pipeline. At the last step my sonar analysis raises an error :

var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/bin/sonar-scanner
Could not find 'java' executable in JAVA_HOME or PATH.

我在我的centos 7中设置了JAVA_HOME,当我运行echo $ JAVA_HOME时,我得到了:

I set my JAVA_HOME in my centos 7, and when I run echo $JAVA_HOME I got :

 echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64

错误在声纳扫描仪文件中引发:

The error is raises in the file sonar-scanner :

if [ -n "$JAVA_HOME" ]
then
  java_cmd="$JAVA_HOME/bin/java"
else
  java_cmd="$(which java)"
fi

java_cmd="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/bin/java"
echo $java_cmd
#export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
if [ -z "$java_cmd" -o ! -x "$java_cmd" ] ; then
  echo "Could not find 'java' executable in JAVA_HOME or PATH."
  exit 1
fi

我尝试了许多解决方案,但仍然遇到相同的错误,请问,我可以纠正它吗?

I tried many solutions but still got the same error, please, I could I correct it ?

我的詹金斯管道脚本:

pipeline {
    agent {
        docker {
            image 'node:6-alpine'
            args '-v /home/nginx/console:/home -p 3000:3000'

        }
    }
        environment {
        CI = 'true' 
    }

    stages {
        stage('Install') { 
            steps {
                sh 'npm install' 
            }
        }
        stage('Test') { 
            steps {
                sh 'npm test' 
            }
        }

        stage('Build') { 
            steps {
                sh 'npm run build' 
            }
        }

        stage('Deploy') { 
            steps {
                sh 'cp -R dist/* /home' 
            }
        }

        stage('Sonarqube analysis') {

            steps {


                script {
                    scannerHome = tool 'SonarQube Scanner';

                }
                withSonarQubeEnv('sonar') {
                        sh "${scannerHome}/bin/sonar-scanner" 
                }

            }
        }


    }
}

推荐答案

基于yong的要求,我创建了这个jenkinsfile并成功使用了声纳:

Based on the recommandation of yong, I created this jenkinsfile and succeeded to push on sonar :

pipeline {
    agent none
    environment {
        CI = 'true' 
    }

    stages {
        stage('Install') { 

            agent { docker 'node:6-alpine'     }
            steps {
                sh 'npm install' 
            }
        }
        stage('Test') { 
            agent { docker 'node:6-alpine'      }
            steps {

                sh 'npm test' 
            }
        }

        stage('Build') { 
            agent { docker 'node:6-alpine'      }
            steps {

                sh 'npm run build' 
            }
        }

        stage('Deploy') { 
            agent { docker 'node:6-alpine'     }
            steps {

                sshPublisher(publishers: [sshPublisherDesc(configName: 'vm-int', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo cp -R /var/jenkins_home/workspace/myapp/dist/* /home/nginx/console/', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/home/nginx/console/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '/var/jenkins_home/workspace/myapp/dist/*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
            }
        }

        stage('Sonarqube analysis') {
           agent {     docker   'maven:3-alpine'   }

            steps {

                script {
                    scannerHome = tool 'SonarQube Scanner';

                }
                withSonarQubeEnv('sonar') {
                        sh "${scannerHome}/bin/sonar-scanner" 
                }

            }
        }


    }
}

这篇关于用于响应的Jenkins管道在JAVA_HOME或PATH中找不到'java'可执行文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆