我正在尝试通过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文件执行
答案 0 :(得分:1)
问题是Jenkins希望为所有文件提供完整路径。给出路径后,它开始正常工作。