Попробуйте перехватить
Если вы хотите, чтобы вторые шаги не выполнялись, что происходит с первым шагом, вы должны перехватить любую ошибку на первом шаге.Вы можете сделать это, используя блок try catch .
Согласно этому ответу: https://stackoverflow.com/a/43303039/3957754, в декларативном конвейере нельзя просто использовать try напрямую.Вы должны обернуть произвольный код groovy в шаге сценария
stage('Maven Install') {
steps {
script {
echo "Step 1"
try {
sh "mvn clean install"
} catch (Exception err) {
//increment error count
} finally {
//do something
}
}
script {
echo "Step 2"
try {
sh "mvn clean install"
} catch (Exception err) {
//increment error count
} finally {
//do something
}
}
}
}
Пометить этап как UNSTABLE / FAILURE
Согласно официальной документации https://jenkins.io/doc/pipeline/tour/post/ вы можете использовать всегда блок:
always {
echo 'One way or another, I have finished'
//put here your final logic
}
Этот блок будет выполнен, когда все предыдущие этапы пройдены, поэтому здесь вы можете применить некоторую логику, используя счетчик ошибок и установить состояние для всей сборки:
- currentBuild.result = 'УСПЕХ'
- currentBuild.result = 'FAILURE'
- и т. Д.