我目前有4个jenkins阶段进行单独的性能测试。目前,如果perf测试失败,则整个管道失败。我可以通过包装try catch来缓解这种情况,这将让我继续,但是当它实际上失败时将标记为成功。 我想为失败的舞台获得一个红色故障框,并允许其他阶段运行。 我不担心詹金斯是否将整个工作标记为失败,只要失败的阶段突出显示并且不会阻止其他阶段运行。
答案 0 :(得分:1)
在这里查看Show a Jenkins pipeline stage as failed without failing the whole job
请注意,您可以选择是将整个作业标记为是否失败,但最重要的是,无论是否标记失败,所有阶段都会完成。
我认为这是一个重复的问题,但我无法将问题联系起来。
答案 1 :(得分:0)
这是不可能的。阶段只能在前一阶段过去时才能运行。
你可以做的一件事就是在同一个阶段同时运行四个作业。我不知道您目前是否使用蓝海UI,但它会在一个单独的小圆圈中显示每个作业,如果一个失败,则很明显哪一个失败了(非常像经典的管道UI你可以准确地告诉哪个阶段失败了。) 有一些我在https://jenkins.io/blog/2016/05/26/introducing-blue-ocean/谈论的内容的图片,包括this。
答案 2 :(得分:0)
要忽略测试阶段失败,我们可以在jenkins的maven目标下添加以下参数
clean install -PDEV Dmaven.test.failure.ignore=true
答案 3 :(得分:0)
回答我自己的问题:
将有问题的阶段包装在try / catch或catchError
catchError{
stage("stage"){
// command
}
}
管道将继续,但是阶段将在GUI中标记为失败/红色,其余工作将继续。