我有一个Jenkinsfile,我想在其中应用条件案例。但是我无法将./*sh输出的退出状态分配给用于if情况的变量。
`environment {
//This variable need be tested as string
doError = '0'
}
stage('Run_Tests') {
steps {
sh 'chmod +x test.sh'
doerror = sh './test.sh'
}
}
stage('Success') {
when {
expression { doError == '0' }
}
steps {
echo "ok"
}
}
stage('fail') {
when {
expression { doError == '1' }
}
steps {
echo "Failed"
}
}`
sh'./test.sh'可以正常工作,但是我无法像这样设置退出值(我在.sh中将其定义为0或1) doerror = sh'./test.sh'不起作用。
答案 0 :(得分:0)
returnStdout允许您的脚本在管道中返回输出并将其分配给变量
doError = sh(script: 'test', returnStdout: true)