来自Jenkinsfile的平台无关Python调用



我有一个Jenkinsfile,看起来像这样:

stage('MyStage') {
steps {
script {
bat script: "python my-script.py"
}
}
}

现在我希望这个Jenkinsfile也能在Linux机器上运行,因为这行"python my-script.py"可以在Windows和Linux中以完全相同的方式执行,我想找到一种方法来而不是像这样复制调用:

if (isUnix()) {
sh: "python my-script.py"
} else {
bat: "python my-script.py"
}

有可能以一种漂亮的方式解决这个问题吗?

谢谢!

/klarre

def call(string cmd) {
if (isUnix()) {
sh: cmd
} else {
bat: cmd
}
}
stage('MyStage') {
steps {
script {
call("python my-script.py")
}
}
}

最新更新