从Jenkins管道脚本

时间:2017-12-04 23:37:39

标签: jenkins jenkins-pipeline

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

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

然后在我的Jenkinsfile

genericsh 'python -V'

这似乎没问题,但是对于每个执行的命令,它会在输出日志中产生额外的isUnix噪音。

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

1 个答案:

答案 0 :(得分:5)

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

T

然后

env.UNIX = isUnix()