git - Jenkins 管道 - 找不到文件

标签 git jenkins jenkins-pipeline

我有一个简单的管道作业: 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/

相关文章:

Git 不在 Mac 上 Homebrew 的 PATH 中

node.js - 具有对私有(private)存储库的只读访问权限的 GitHub 访问 token

linux - Git packed-refs 别名打破了浅获取

node.js - Heroku cedar Node 应用程序 - 更新到 6.11.1 后无法推送主 Node

angularjs - 通过 SauceLabs 远程下载文件时如何避免 "save as"提示

jenkins - 在Kubernetes中挂载持久 “dynamic”文件的解决方案

jenkins - Helm Uninstall 删除版本(如果存在)

powershell - 即使 PS 脚本执行失败,Jenkins 构建也成功

jenkins - 捕获 Jenkins 工作流程中的多个错误

docker - Docker步骤结果记录到日志文件-Jenkins