加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 19:03:49 所属栏目:安全 来源:网络整理
导读:这是我的Jenkins 2.x管道: node ('master'){ stage 'Checkout' checkout scm stage "Build Pex" sh('build.sh')} 当我运行这个管道时,checkout会按预期将代码放入工作空间,但不是期望在workspace /(它确实存在!)中找到脚本,而是查找一个不相关的目录:w
这是我的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')
}
...

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读