我正在开发一个可在Windows和Linux上执行的管道脚本。对于这两个系统,我需要调用相同的命令(例如python -V
)。我可以通过辅助函数完成此任务:
def genericsh(cmd) {
if (isUnix()) {
sh cmd
}
else {
bat cmd
}
}
然后在我的Jenkinsfile
:
genericsh 'python -V'
这似乎没问题,但是对于每个执行的命令,它会在输出日志中产生额外的isUnix
噪音。
是否有更好的方法在Jenkins管道脚本中通过Windows和Linux一般性地调用命令?如果没有,是否有一种机制来抑制管道日志中的isUnix()步骤标记?
答案 0 :(得分:5)
您可以在脚本的早期将isUnix()分配给变量,这意味着您只能看到一次,而不是每个外部命令一次。
T
然后
env.UNIX = isUnix()