Jenkinsfile: публиковать результаты теста, даже если шаг теста не пройден

В моем Jenkinsfile У меня есть сцена Test где я бегу npm шаг команды теста, а также junit шаг к архивированию результатов теста.

stage('Test') {
  steps {
    sh 'npm run test-ci'
    junit 'test-results.xml'
  }
}

Как я могу использовать try/finally правильно запустить junit шаг, даже если sh 'npm run test-ci' шаг не удался?

1 ответ

Решение

Вы хотите использовать этап публикации, https://jenkins.io/doc/book/pipeline/syntax/.

pipeline {
    agent any
    stages {
      stage('Test') {
        steps {
          sh 'npm run test-ci'
        }
      }
      post { 
        always { 
          junit 'test-results.xml'   
        }
    }
}

Также посмотрите этот пост в блоге, он объясняет его дополнительно, https://jenkins.io/blog/2017/02/10/declarative-html-publisher/

Другие вопросы по тегам