【发布时间】:2018-10-21 13:15:15
【问题描述】:
我关注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
【问题讨论】:
标签: jenkins groovy jenkins-pipeline xunit