在我的其中一个版本中:https://dev.azure.com/ericmjl/Tutorials/_build/results?buildId=660&view=logs
我注意到以下问题。当代码单元出错时,
nbconvert
命令的执行不会失败。
我不确定这是 nbconvert 问题还是 Azure 问题,但我的第一直觉是问:有没有办法确保当
nbconvert
命令遇到失败的单元时 Azure 失败?
是的,它给出了非零退出代码。特别是对于单元执行错误,它通常会给出退出代码 1。
但是,有一些内核错误问题在发生异常时不会发回错误(某些 Spark 内核不这样做),这违反了规范的要求,然后 nbconvert 不知道发生了错误。我知道有 3 或 4 个内核有这种行为,而且大多数都是未维护的内核,没有人再修复问题。
根据阅读您的构建,我看到引发了正确的错误和异常。但是,我认为您的脚本只是在模板的最后一行查找错误。您可能需要在
之前的每行末尾添加
&&
,以便在遇到第一个错误时停止执行。