通过詹金斯执行Shell脚本时出现问题

时间:2020-07-07 17:09:29

标签: bash shell jenkins groovy sh

我正在尝试通过jenkins管道运行shell脚本。当我手动运行它时,它工作正常。但是在同一台机器上,当我通过jenkins文件执行它时,它就失败了。

Jenkins文件:-

if ("${BRANCH_NAME}".startsWith("users"))
        {
        node ('linux')
        {
            stage('run groovy script')
            {
            stdout = sh(script: '"$MyWorkSpaceLinux/planning/build/jdocgroovy.sh" ${BUILD_NUMBER}', returnStdout : true)
            println("running groovy stdout################ " + stdout + " ####################")
            }
        }
        }

以下是错误:

javadoc: error - cannot read jdocgroovyfiles_ux.dat (No such file or directory)
cp: cannot stat `groovy-examples.html': No such file or directory
Emptying out Javadoc folder
Generatig Javadoc files

以下是shell脚本:-

export PLANNING_HOME=/scratch/pqsharma/jenkins/workspace/Planning_develop/planning/HspJS
export JDK_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/

build_no=${1}
echo Emptying out Javadoc folder
mkdir "/net/slcnas502.us.oracle.com/export/EPM_Planning/PlanningDev/Buzz/tmp_pre_rel/Planning/builds/develop/${build_no}/src/javadocgroovy"


echo Generatig Javadoc files
"${JDK_HOME}/bin/javadoc" -classpath ${PLANNING_HOME}/lib/Jersey/jersey-core.jar -sourcepath "${PLANNING_HOME}/src" -windowtitle "Oracle Enterprise Performance Management Cloud, Groovy Rules" -header "Oracle Enterprise Performance Management Cloud, Groovy Rules Java API Reference" -bottom "Copyright © 2017, 2020, Oracle and/or its affiliates. All rights reserved." -overview groovy-overview.html -public -nodeprecated -d "/net/slcnas502.us.oracle.com/export/EPM_Planning/PlanningDev/Buzz/tmp_pre_rel/Planning/builds/develop/${build_no}/src/javadocgroovy" @jdocgroovyfiles_ux.dat

cp groovy-examples.html "/net/slcnas502.us.oracle.com/export/EPM_Planning/PlanningDev/Buzz/tmp_pre_rel/Planning/builds/develop/${build_no}/src/javadocgroovy"

有人请帮助我理解为什么我无法通过jenkins文件执行

1 个答案:

答案 0 :(得分:1)

问题是Jenkins希望为所有文件提供完整路径。给出路径后,它开始正常工作。