当前,当maven-job不稳定(黄色)时,我的管道失败(红色)。
node {
stage 'Unit/SQL-Tests'
parallel (
phase1: { build 'Unit-Tests' }, // maven
phase2: { build 'SQL-Tests' } // shell
)
stage 'Integration-Tests'
build 'Integration-Tests' // maven
}
在此示例中,作业单元测试的结果不稳定,但在管道中显示为失败。
如何更改作业/管道/ Jenkins ,以使(1)管道步骤不稳定而不是失败,以及(2)管道状态不稳定而不是失败。
我尝试添加
MAVEN_OPTS
参数-Dmaven.test.failure.ignore=true
,但这不能解决问题。我不确定如何将build 'Unit-Test'
包装到可以捕获和处理结果的某些逻辑中。用this logic添加子管道并不能解决问题,因为没有选项可以从Subversion check out (该选项在常规Maven作业中可用)。如果可能的话,我不想使用命令行结帐。
最佳答案
无论步骤是不稳定还是失败,脚本中的最终构建结果都将失败。
您可以在默认情况下将传播添加为false以避免流失败。
def result = build job: 'test', propagate: false
在流程的最后,您可以根据从“结果”变量中获得的结果来判断最终结果。
例如
currentBuild.result='UNSTABLE'
这是一个详细的例子
How to set current build result in Pipeline
溴
提姆
关于maven - 如果步骤不稳定,Jenkins管道将失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38713865/