4

I am using declarative pipeline syntax. I want to re trigger my build for 3 times if it fails. I want to add this step in my pipeline may be in post step: Something like below:

post { 
    failure{ 
        retrigger //try for 3 times atleast
    }
} 
3

The other answer is incorrect. There is indeed a builtin to retry arbitrary sections of your job called retry.

If you want to retry the whole job three times, you can wrap your entire job in a retry block:

retry(count: 3) {
  // your job definition here
}

However, if it's safe to do so, I would recommend wrapping individual steps or stages instead:

stage('my first stage') {
  retry(count: 3) {
    sh('some-command')
    sh('some-other-command')
  }
}
  • thanks jayhendren, this is what I was looking for. Much appreciated. – Ron Bob Oct 29 '18 at 15:49
  • @RonBob perhaps you could accept the answer – 030 Mar 11 at 21:29
0

There doesn't seem to be a built in pipeline step to do this, and neither does there seem to be a existing plugin that works with pipelines. I'd recommend having a look at the stackoverflow answer: https://stackoverflow.com/a/46852240/1019835

You can implement that code as a shared library, which would allow you to share your solution between projects. Have a look at this tutorial to do that: https://jenkins.io/doc/book/pipeline/shared-libraries/

  • Thanks! Really appreciate. What if I just want to retrigger the job upon build failure in post step. No matter how much number of time? – Ron Bob Oct 13 '18 at 12:01

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.