I have the following build pipeline set up as a job:
Stage 1 - verify all dependencies exist Stage 2 - build the new jar Stage 3 - Run integration tests Stag
You can wrap your code in a retry step:
stage "Deployment" retry(3) { sh "deploy.." }
EDIT: This might help in the free version of Jenkins. Users of CloudBees Enterprise, please see @tarantoga's answer.