我正在使用jenkins管道插件,XUnitBuilder插件和stash通知程序插件。我有问题,它报告错误的构建状态。我的管道:
pipeline {
agent none
stages {
stage('Build') {
steps {
parallel(
failFast: true,
'One': {
node( 'windows' ){
run tests ...
step([$class: 'XUnitBuilder',
thresholds: [
[$class: 'FailedThreshold', failureNewThreshold: '0', failureThreshold: '0', unstableNewThreshold: '0', unstableThreshold: '0']
],
tools: [
[$class: 'CTestType', deleteOutputFiles: true, failIfNotNew: true, pattern: 'Testing/**/Test.xml']
]
])
}
},
'Two': {
node( 'windows' ){
run tests ...
step([$class: 'XUnitBuilder',
thresholds: [
[$class: 'FailedThreshold', failureNewThreshold: '0', failureThreshold: '0', unstableNewThreshold: '0', unstableThreshold: '0']
],
tools: [
[$class: 'CTestType', deleteOutputFiles: true, failIfNotNew: true, pattern: 'Testing/**/Test.xml']
]
])
}
}
)
}
}
}
}
问题:一旦' One'完成后,XUnitBuilder将构建结果设置为成功,并将其报告为存储,并且可以合并我的pull请求。这显然是错误的,因为' Two'可能甚至没有开始。 我需要 *如果成功或成功,则阻止XUnitPublisher设置构建结果 *防止藏匿在整个管道完成之前被通知
当然,我可以存储测试结果并在帖子部分中运行XUnitBuilder,但由于我的管道有几个阶段,每个阶段都有几个并行的步骤来运行测试,因此这变得非常复杂。
有人知道解决这个问题很热吗?