DRH*_*DRH 14 jenkins jenkins-pipeline
我正在研究一个可以在Windows和Linux上执行的管道脚本.对于这两个系统,我需要调用相同的命令(例如python -V).我可以通过辅助函数完成此任务:
def genericsh(cmd) {
if (isUnix()) {
sh cmd
}
else {
bat cmd
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的Jenkinsfile:
genericsh 'python -V'
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但是isUnix在执行的每个命令的输出日志中都会产生额外的噪音.
有没有更好的方法在Jenkins管道脚本中通过Windows和Linux一般性地调用命令?如果没有,是否有一种机制来抑制管道日志中的isUnix()步骤标记?
您可以在脚本的早期将isUnix()分配给变量,这意味着您只会看到一次,而不是每个外部命令一次。
env.UNIX = isUnix()
Run Code Online (Sandbox Code Playgroud)
然后
def genericSh(cmd) {
if (Boolean.valueOf(env.UNIX)) {
sh cmd
}
else {
bat cmd
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |