jenkins,Jenkinsfile,Devops,

时间:2019-11-20 21:47:00

标签: jenkins-pipeline jenkins-groovy jenkins-cli

我有一个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'不起作用。

1 个答案:

答案 0 :(得分:0)

returnStdout允许您的脚本在管道中返回输出并将其分配给变量

doError = sh(script: 'test', returnStdout: true)