Jenkins管道 - 找不到文件

时间:2017-02-13 08:46:27

标签: git jenkins jenkins-pipeline

我有一个简单的管道工作: 1)签出一个git分支 2)cd到一个运行目录 3)执行现有脚本以运行测试

此时管道脚本本身非常简单:

stage 'build'
node {
    git url: 'git@hd1:nip_5g_fpga', branch: "Phase_UL_1a"
    sh "pwd"
    sh "echo $PATH"
    sh "ls"
    dir ('nip_fpga/verification/src/UE/env/top_level/run') {
        sh "source vcs_bash.sh 1" 
    }
}

当我运行它时,我收到以下错误(仅显示控制台的一部分):

Running
in /var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/run
[Pipeline] {
[Pipeline] sh
[run] Running shell script
+ source vcs_bash.sh 1
/var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/run@tmp/durable-c40e151e/script.sh: line 2: source: vcs_bash.sh: file not found

我已检查过vcs_bash.sh本身是否存在,但它存在于.../top_level/run目录中,而不在top_level/run@tmp目录中。所以,我很困惑如何解决这个问题。

另外,我不理解管道正在创建的tmp目录的概念

1 个答案:

答案 0 :(得分:0)

知道管道jenkins插件将git中的代码存储在 workspace @ script 文件夹中,我使用这个小技巧来访问我的sh文件:

sh "../workspace@script/myScriptName.sh"