Jenkins Build总是失败,即使它应该不稳定

所以我有一个jenkinsfile:

pipeline {
    agent any
    tools {
        maven 'Maven 3.3.9'
        jdk 'Oracle JDK 8_181'
    }

    options {
        timestamps()
        timeout(time: 4,unit: 'HOURS')
        buildDiscarder(logRotator(numToKeepStr: '10'))
        disableConcurrentBuilds()
    }

    triggers {
        pollSCM('H/15 5-23 * * 1-5')
    }

    stages {
        stage('Info') {
            steps {
                sh '''
                    echo "Paths:"
                    echo "PATH = ${PATH}"
                    echo "M2_HOME = ${M2_HOME}"
                    echo "\n\nmaven Version:"
                    mvn -v
                '''
            }
        }
        stage('Build') {
            steps {
                sh '''
                    mvn clean compile -X -PJenkinsITSV
                '''
            }
        }
        stage('Testing') {
            parallel {
                stage("Tests & Archiving") {
                    stages {
                        stage('Tests') {
                            steps {
                                catchError(buildResult: 'UNSTABLE',stageResult: 'UNSTABLE') {
                                    sh '''
                                        exit 1
                                    '''
                                        //mvn test -X --fail-never
                                }
                            }
                        }
                        stage('Archiving') {
                            steps {
                                catchError(buildResult: 'UNSTABLE',stageResult: 'UNSTABLE') {
                                    echo "POST TEST"
                                    //archiveArtifacts artifacts: '**/target/*.jar',fingerprint: true
                                    //archiveArtifacts artifacts: '**/target/*.ear',fingerprint: true
                                    //archiveArtifacts artifacts: '**/target/*.ejb',fingerprint: true
                                    //archiveArtifacts artifacts: '**/target/*.war',fingerprint: true
                                    //archiveArtifacts artifacts: '**/target/*.zip',fingerprint: true
                                    //junit '**/target/reports/**/*.xml'
                                    //junit '**/target/surefire-reports/*.xml'
                                    //junit "**/TEST-*.xml"
                                }
                            }
                        }
                    }
                }
                stage("Install") {
                    steps {
                        sh '''
                            mvn install -X -DskipTests=true
                        '''
                    }
                }
            }
        }
    }
}
post {
    failure {
        when { branch 'master' }
        steps {
            echo "Failed"
        }
    }
}

如您所见,我已经注释掉了一些代码。

Tests阶段(我进行exit 1(用于测试))之外,每个步骤都是绿色的。此步骤在Ocean UI中显示为UNSTABLE(黄色)。

问题是,我希望结果也为UNSTABLE,但实际上在Ocean UI和默认UI中均为FAILED(红色)。

这是它的样子:

Jenkins Build总是失败,即使它应该不稳定

如果您需要更多信息,请发表评论

aqswdefr8888 回答:Jenkins Build总是失败,即使它应该不稳定

您在看错地方。失败不是来自您的阶段,而是来自post块。它必须是pipelinepipeline {stages{...}post{...}}的一部分,而不是在它之后。

本文链接:https://www.f2er.com/3095024.html

大家都在问