如果JS测试失败并将构建标记为UNSTABLE,如何将构建标记为失败

时间:2018-02-01 10:51:01

标签: jenkins junit jenkins-pipeline

我有一个运行单元测试的管道,当其中一个失败时,将构建标记为不稳定,但我需要使该构建失败并使其变为红色。

这是我的管道的一个例子

def gitStatus(buildStatus) {
 if (buildStatus == 'SUCCESS') {
updateGitlabCommitStatus(name: 'build', state: 'success')
addGitLabMRComment comment: 'Build Passed'
}
updateGitlabCommitStatus(name: 'build', state: 'failed')
addGitLabMRComment comment: "Something unexpected happened. Inspect Jenkins logs."
emailext subject: '$DEFAULT_SUBJECT', body: '$DEFAULT_CONTENT', to: ''
}

try {
node ('Builder_1') {
    stage('Preparing source tree') {
                    }

stage('Install Dependencies') {
        sh '''#!/bin/bash
           npm install --prefer-offline
      '''
        }

try {

 stage ('Run Tests') {
withEnv(["JEST_JUNIT_OUTPUT=./jest-test-results.xml"]) {
 sh 'npm run test -- --ci --testResultsProcessor="jest-junit"'
}
 junit 'jest-test-results.xml'
}   

      } catch(err) {
        step([$class: 'JUnitResultArchiver', testResults: './jest-test-results.xml'])
       throw err
      }

 stage('Build') {
        sh '''#!/bin/bash
           npm run build
      '''
        }
}
}catch (e) {
if (currentBuild.result != 'SUCCESS'){
 currentBuild.result == 'FAILURE'
 }
 throw err
 } finally {
    gitStatus(currentBuild.currentResult)
 }

你能否提出你的想法,出现了什么问题。

1 个答案:

答案 0 :(得分:0)

而不是throw err,如果您使用error errsh "exit 1"。它会将构建标记为红色。希望这会有所帮助。

Follow this post for more info