从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 } }