/ / ¿Cómo hacer que jenkins falle en un comando batch de Windows que falla? - Windows, archivo por lotes, Jenkins

¿Cómo hacer que jenkins falle en un comando batch de Windows que falla? - Windows, archivo por lotes, Jenkins

Utilizo algunos comandos por lotes de Windows en Jenkins, donde cada uno de los comandos podría fallar. Para hacer que el trabajo de jenkins falle en cada paso, estos comandos por lotes tienen el siguiente aspecto:

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

En otras palabras: parece que verifico cada comando de un solo lote si ha fallado, y luego salgo con errorcode 1 si es necesario. ¿Hay una manera más sensata / conveniente / mejor de lograr esto?

Si no reviso cada paso y salgo, jenkins ejecutará el siguiente comando por lotes.

Respuestas

6 para la respuesta № 1

Lamentablemente en lote no puede activar una bandera como la -e en bash que saldría en cualquier código de retorno que no sea 0. Sin embargo, podría usar un código lógico or para saltar a una etiqueta de salida como se describe aquí: https://stackoverflow.com/a/8965092/2003420


3 para la respuesta № 2

Cadena tus comandos junto con el lote && operador. Omite los comandos a la derecha si el comando a la izquierda tiene un código de salida distinto de cero.