Jenkins 管道不会因批次失败而失败

Zit*_*rax 5 batch-file jenkins jenkins-pipeline

在詹金斯声明式管道中,如果我添加如下步骤:

bat '''dir QWERTY'''
Run Code Online (Sandbox Code Playgroud)

由于没有这样的目录,它将按预期失败。

然而,这是一个包含许多语句的bat脚本,所以我希望一旦出现错误就失败。我已经习惯了通过追加|| exit /b来处理这个问题。但作为詹金斯管道的一部分,这似乎不起作用。

bat '''dir QWERTY || exit /b'''
bat '''dir QWERTY || exit /b %ERRORLEVEL%'''
Run Code Online (Sandbox Code Playgroud)

以上都没有失败。为什么?

第三种选择:

bat '''dir QWERTY
if %errorlevel% neq 0 exit /b %ERRORLEVEL%
'''
Run Code Online (Sandbox Code Playgroud)

似乎可行,但这会损害脚本的可读性。

Zit*_*rax 2

结果在詹金斯管道中我无法使用/b. 因此:

bat '''dir QWERTY || exit'''
Run Code Online (Sandbox Code Playgroud)

作品。