Каков наилучший способ проверить, не прошел ли предыдущий этап или нет, используя Jenkins декларативный конвейер и, если это не удалось, выполните команду отката.
I только что попробовал, как показано ниже, но выдает ошибку, как показано ниже.
Скриптам не разрешено использовать метод org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper getRawBuild. Администраторы могут решить, утвердить или отклонить эту подпись.
stage('Deploy to production'){
when{
beforeAgent true
expression{return env.GIT_BRANCH == "origin/master"}
}
steps{
script{
echo "Deploying production environment"
sh "helm install ...."
}else {
error "Buid was not confirmed"
}
stage('Roll Back'){
when{
expression {
!hudson.model.Result.SUCCESS.equals(currentBuild.rawBuild.getPreviousBuild()?.getResult()) == true
}
}
steps{
script{
sh "helm rollback <release> 0"
}
}
}
}