У меня есть .jenkinsfile
, который отвечает за мой CI.Это соответствующий фрагмент (от Jenkins "replay"):
try {
sh("pytest...")
} catch (e) {
sh("./clean_script.sh || true")
throw e
} finally ...
При просмотре вывода на консоль я могу обнаружить (при сбое) этот раздел: [STAGE_NAME] + ./clean_script.sh
, что означаетЯ дошел до части catch
.
Однако следующие строки, которые я добавил в последующем коммите и перезапуске, не выполняются.Мое добавление выглядит так:
try {
sh("pytest...")
} catch (e) {
sh("./clean_script.sh || true")
println "start"
def good = ${GIT_PREVIOUS_SUCCESSFUL_COMMIT}
sh("python my_py.py ${good}")
println "end"
throw e
} finally ...
Я не вижу даже строки "start", которую я не понимаю (часть "finally" выполняется и печатается) ... Предположим, скрипт pyне получается, или good
назначен неправильно, почему он влияет на первый println
?