使用新的jenkins声明性管道语法,我想测试sh脚本执行的返回状态。是否可以不使用脚本步骤?
脚本管道(工作):
...
stage ('Check url') {
node {
timeout(15) {
waitUntil {
sleep 20
def r = sh script: "wget -q ${CHECK_URL} -O /dev/null", returnStatus: true
return (r == 0);
}
}
}
}
声明性管道(尝试):
...
stage('Check url'){
steps {
timeout(15) {
waitUntil {
sleep 20
sh script: "wget -q ${CHECK_URL} -O /dev/null", returnStatus: true == 0
}
}
}
}
log:java.lang.ClassCastException:body返回值null不是boolean
答案 0 :(得分:2)
由于没有脚本块,它是不可能的,我们得到类似的东西:
...
stage('Check url'){
steps {
script {
timeout(15) {
waitUntil {
sleep 20
def r = sh script: "wget -q ${CHECK_URL} -O /dev/null", returnStatus: true
return r == 0
}
}
}
}
}