如何获取命令maven的输出

时间:2018-05-11 07:12:14

标签: jenkins groovy jenkins-pipeline xunit

我关注Jenkinsfile

node {
  stage('Checkout') {
    checkout scm
  }
  stage('Build') {
    try {
      sh ''' mvn clean -B org.jacoco:jacoco-maven-plugin:prepare-agent install  > commandResult '''
      def result = readFile('commandResult').trim()
    }
    catch (err) {
      step([$class: 'XUnitBuilder', testTimeMargin: '3000', thresholdMode: 1, thresholds: [
        [$class: 'FailedThreshold', failureThreshold: '', unstableThreshold: '1'],
        [$class: 'SkippedThreshold', failureThreshold: '', unstableThreshold: '']
      ], tools: [
        [$class: 'JUnitType', deleteOutputFiles: false, failIfNotNew: false, pattern: '**/target/surefire-reports/TEST-*.xml', skipNoTestFiles: true, stopProcessingIfError: false]
      ]])
    }
    finally {
      echo "{$result}"
    }
  }
}

当某些测试失败时,我使用插件xUnit设置不稳定构建的阈值(在这种情况下,当一个或多个测试失败时,构建被标记为不稳定)。我还想解析Maven shell命令的输出,将构建标记为"失败"如果有编译错误。如果没有错误并且所有测试都通过,请继续xUnit。我怎样才能做到这一点?

我已尝试过其他问题中提供的答案,但在我的案例中并没有起作用。当我在上面尝试Jenkinsfile时,构建失败并且我没有获得输出值。

我的Jenkins版本为2.107.2

0 个答案:

没有答案