微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell – 如何让Jenkins 2.0在checkout所在的目录中执行sh命令?

这是我的Jenkins 2.x管道:
node ('master'){
    stage 'Checkout'
    checkout scm
    stage "Build Pex"
    sh('build.sh')
}

当我运行这个管道时,checkout会按预期将代码放入工作空间,但不是期望在workspace /(它确实存在!)中找到脚本,而是查找一个不相关的目录:workspace @ tmp / durable-d812f509。

Entering stage Build Pex
Proceeding
[Pipeline] sh
[workspace] Running shell script
+ build.sh
/home/conmonsysdev/deployments/jenkins_ci_2016_interns/jenkins_home/jobs/pex/branches/master/workspace@tmp/durable-d812f509/script.sh: line 2: build.sh: command not found

如何修改这个Jenkins文件,以便在我检查项目源代码的完全相同的目录中执行build.sh?

您可以将您的操作包含在dir块中。
checkout scm
stage "Build Pex"
dir ('your new directory') { 
    sh('build.sh')
}
...

你的新目录是占位符你的实际目录。认情况下,它是工作空间的相对路径。如果您确定代理上存在绝对路径,则可以定义绝对路径

原文地址:https://www.jb51.cc/bash/387199.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐