如何在失败的Windows批处理命令中使jenkins失败?

时间:2014-08-04 14:44:13

标签: windows batch-file jenkins

我在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 个答案:

答案 0 :(得分:6)

遗憾的是,在批处理中你不能激活bash中的-e之类的标志,它会在任何非0的返回码上退出。但是你可以使用逻辑or跳转到退出标签这里描述:https://stackoverflow.com/a/8965092/2003420

答案 1 :(得分:3)

将命令与批处理&&运算符串在一起。如果左侧的命令具有非零退出代码,则它会向右跳过命令。