без кода try-catch может быть проще:
def dockerPushAndRetry(String image) {
for(int i=0;i<3;i++){
if( 0==sh(returnStatus: true, script: "${image}") )return
Thread.sleep(10000) // 10 sec
}
error "error to run ${image}, please read logs..."
}
, если вы хотите использовать try-catch ...
без returnStatus
шага sh
выдаст исключение , поэтому код может выглядеть следующим образом:
def dockerPushAndRetry(String image) {
int count = 3
for(int i=0;i<count;i++){
try {
sh(script: "${image}")
return
}catch(e){
if(i==count-1)throw e
}
Thread.sleep(10000) // 10 sec
}
}