从Jenkins管道脚本一般调用sh或bat

从Jenkins管道脚本一般调用sh或bat

http://www.voidcn.com/article/p-xwrvekqf-bum.html

我正在开发一个可以在 Windows和 Linux上执行的管道脚本.对于这两个系统,我需要调用相同的命令(例如python -V).我可以通过辅助函数完成此任务:

 

 

def genericsh(cmd) {
    if (isUnix()) {
        sh cmd
    }
    else {
        bat cmd
    }
}

然后在我的Jenkinsfile中:

 

genericsh 'python -V'

这似乎工作正常,但是在执行的每个命令的输出日志中会产生额外的isUnix噪声.

有没有更好的方法在Jenkins管道脚本中通过Windows和Linux一般性地调用命令?如果没有,是否有一种机制来抑制管道日志中的isUnix()步骤标记?

您可以在脚本的早期将isUnix()分配给变量,这意味着您只能看到一次,而不是每个外部命令一次.

 

 

env.UNIX = isUnix()

然后

 

def genericSh(cmd) {
    if (Boolean.valueOf(env.UNIX)) {
        sh cmd
    }
    else {
        bat cmd
   }
}

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值