我有一个简单的管道工作: 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目录的概念
答案 0 :(得分:0)
知道管道jenkins插件将git中的代码存储在 workspace @ script 文件夹中,我使用这个小技巧来访问我的sh文件:
sh "../workspace@script/myScriptName.sh"