Я использую Scripted Pipeline для запуска заданий. Скриптовый конвейер не включает задачу посткомпиляции так же, как сборочный поток или декларативный конвейер. Поэтому мне нужно сделать что-то вроде этого
try{
// execute builds
}
catch(Exception e){
// set pipeline result
}
finally {
step([$class: 'ClaimPublisher']);
}
Проблема появляется, когда Дженкинс внезапно выключается. По какой-то причине он не выполняет код на шаге finnaly, поэтому, когда Дженкинс снова работает, конвейер, потерпевший неудачу, не может быть востребован.
Даже мысленный конвейер «продолжается», в конце концов блок не выполняется.
Вход:
Resuming build after Jenkins restart
an exception which occurred:
in object of type org.jenkinsci.plugins.workflow.cps.FlowHead
in field org.jenkinsci.plugins.workflow.cps.CpsThread.head
Caused: java.lang.IllegalStateException: FlowHead loading problem at deserialize: Null FlowHead with id 45 in execution
at org.jenkinsci.plugins.workflow.cps.FlowHead.readResolve(FlowHead.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Здесь есть еще один способ включить плагин претензий. Могу ли я сделать что-то еще в коде?
ИНФОРМАЦИЯ: Плагин утверждений можно установить только после установки результата сборки