jenkins,Jenkinsfile,Devops,

问题描述 投票:-1回答:1

我有一个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'可以正常工作,但是我不能像这样设置asitn的退出值(我在.sh中将其定义为0或1)doerror = sh'./test.sh'不起作用。

jenkins-pipeline jenkins-groovy jenkins-cli
1个回答
0
投票

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

doError = sh(script: 'test', returnStdout: true)
© www.soinside.com 2019 - 2024. All rights reserved.