Jenkins Pipeline 里执行某些步骤(stage),会受外部影响而失败,这是无法通过修改自身而保证总是成功的,然而失败也并不说明这些步骤本身的问题。所以,当这种失败发生时,需要增加重试次数,以避免产生虚假的警告。那么 Pipeline 如何定义重试次数?本文列出一个定义方法。
背景
Jenkins Pipeline 里执行某些步骤(stage),需要依赖外部环境提供服务,当外部服务不可靠时,应当让当前的执行步骤重新尝试获取服务,而不是直接报错。
解决方法
实现重试的方法,是在 stage 内部增加 options,如下面的 Jenkinsfile 所示。
stage('some node'){
agent {
label 'some agent'
}
options{
retry(3)
}
steps{
// 其他任务
}
}