如何使Jenkins在Windows批处理命令失败时失败?

11

我在Jenkins中使用一些Windows批处理命令,其中每个命令都可能失败。为了使Jenkins工作流程在每个步骤上都失败,这些批处理命令如下:

net use m: \\%IP_ADDRESS%\Whatever %PASSWORD% /user:%USERNAME%
if ERRORLEVEL 1 exit 1
mkdir m:\Install
if ERRORLEVEL 1 exit 1
copy /b %LOCAL_TEMP%\%INSTALLER_EXE% m:\Install\%INSTALLER_EXE% 
if ERRORLEVEL 1 exit 1
net use m: /D
if ERRORLEVEL 1 exit 1

换句话说:我似乎要检查每个批处理命令是否失败,然后在必要时以错误代码1退出。是否有更合理/方便/更好的方法来实现这一点?

如果我不检查每个步骤并退出,jenkins会执行以下批处理命令。

2个回答

6

遗憾的是,在批处理中,您不能像在bash中那样激活类似于-e的标志,该标志将退出任何返回代码不为0的命令。但是,您可以使用逻辑or跳转到一个退出标签,如此处所述:https://dev59.com/FXRB5IYBdhLWcg3wEDul#8965092


3

使用批处理中的&&运算符将多个命令串联在一起。如果左侧命令的退出代码非零,则跳过右侧命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接