/ / Come fare in modo che jenkins fallisca con un comando batch di Windows non funzionante? - finestre, file batch, jenkins

Come far fallire jenkins a un comando batch di Windows non funzionante? - finestre, file batch, jenkins

Io uso alcuni comandi batch di Windows in jenkins, dove ognuno dei comandi potrebbe fallire. Per far fallire il lavoro di jenkins in ogni fase, questi comandi batch appaiono come segue:

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

In altre parole: mi sembra di controllare ogni singolo comando batch se ha fallito, e quindi di uscire con errorcode 1 se necessario. C'è un modo più sensato / conveniente / migliore per raggiungere questo obiettivo?

Se non controllo ogni singolo passaggio ed esco, jenkins eseguirà il seguente comando batch.

risposte:

6 per risposta № 1

Purtroppo in batch non è possibile attivare una bandiera come la -e in bash che uscirebbe su qualsiasi codice di ritorno che non fosse 0. Comunque potreste usare una logica or per saltare a un'etichetta di uscita come descritto qui: https://stackoverflow.com/a/8965092/2003420


3 per risposta № 2

Stringa i tuoi comandi insieme al batch && operatore. Salta i comandi a destra se il comando a sinistra ha un codice di uscita diverso da zero.