【问题标题】:Issue while executing shell script through jenkins通过jenkins执行shell脚本时出现问题
【发布时间】:2020-10-28 00:26:55
【问题描述】:

我正在尝试通过 jenkins 管道运行 shell 脚本。当我手动运行它时,它工作正常。但是在同一台机器上,当我通过 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 文件执行它

【问题讨论】:

  • 看起来您需要 cp 命令中的 groovy-examples.html 的完整路径。
  • 我认为他的主要错误是“javadoc: error - cannot read jdocgroovyfiles_ux.dat (No such file or directory)”
  • 是的。该文件也有同样的问题。需要完整路径。
  • 但是当我手动运行相同的脚本时,我没有遇到这个问题。 @jdocgroovyfiles_ux.dat,在这里添加路径。文件名为 jdocgroovyfiles_ux.dat
  • 您是否从与文件相同的目录手动运行脚本?

标签: bash shell jenkins groovy sh


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-05-31
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多