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')
}
...

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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...