我有一个.jenkinsfile
负责我的CI。这是相关的代码段(来自Jenkins的“重播”):
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 ...
我什至看不到“开始”行,我不理解(“最终”部分已执行并打印)...假设py脚本失败,或者good
是' t分配正确,为什么要保留它会影响第一个println
?