如下所示:
post {
failure{
retrigger //try for 3 times atleast
}
}
#1 楼
另一个答案不正确。确实有一个内置函数可以重试作业的任意部分,称为retry
。如果要重试整个作业三次,可以将整个作业包装在
retry
块中:retry(count: 3) {
// your job definition here
}
但是,如果安全的话,我建议包装单个步骤或阶段:
stage('my first stage') {
retry(count: 3) {
sh('some-command')
sh('some-other-command')
}
}
#2 楼
使用声明性管道时,全局选项中有一个重试参数:pipeline {
agent any
options {
retry(3)
}
stages {
...
}
}
#3 楼
似乎没有内置的管道步骤可以执行此操作,而且似乎也没有现有的插件可以与管道一起使用。我建议您看一下stackoverflow答案:https://stackoverflow.com/a/46852240/1019835您可以将该代码实现为共享库,从而使您可以共享自己的代码。项目之间的解决方案。看一下本教程可以做到这一点:https://jenkins.io/doc/book/pipeline/shared-libraries/
评论
谢谢!真的很感谢。如果我只是想在后期构建失败后重新触发工作该怎么办。不管多少时间?
–罗恩·鲍勃(Ron Bob)
18-10-13在12:01
评论
谢谢jayhendren,这就是我想要的。非常感激。
–罗恩·鲍勃(Ron Bob)
18-10-29在15:49
@RonBob也许您可以接受答案
– 030
19年3月11日在21:29