flo*_*owe 5 jenkins jenkins-declarative-pipeline
使用新的 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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
声明式管道(尝试):
...
stage('Check url'){
steps {
timeout(15) {
waitUntil {
sleep 20
sh script: "wget -q ${CHECK_URL} -O /dev/null", returnStatus: true == 0
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
日志:java.lang.ClassCastException:主体返回值 null 不是布尔值
由于没有脚本块是不可能的,因此我们得到如下内容:
...
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
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10329 次 |
| 最近记录: |