我有一个简单的管道作业: 1) checkout 一个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 目录的概念
最佳答案
知道管道 jenkins 插件将来自 git 的代码存储在文件夹 workspace@script 中,我使用这个小技巧来访问我的 sh 文件:
sh "../workspace@script/myScriptName.sh"
关于git - Jenkins 管道 - 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42199884/