Falla la compilación manual en Jenkins usando el script de shell


Me gustaría marcar una compilación de Jenkins para fallar en un escenario por ejemplo:

if [ -f "$file" ]
then
    echo "$file found."
else
    echo "$file not found."
    #Do Jenkins Build Fail
fi

¿ Es posible a través de Shell Script?

Respuesta: Si salimos con el número entero 1, la compilación de Jenkins se marcará como fallida. Así que reemplacé el comentario con exit 1 para resolver esto.

Author: Eric Leschinski, 2013-12-30

3 answers

Todo lo que necesita hacer es salir 1.

if [ -f "$file" ]
then
    echo "$file found."
else
    echo "$file not found."
    exit 1
fi
 57
Author: alk3ovation,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-30 18:45:25

Para fallar una compilación de Jenkins desde.NET, puede usar Environment.Exit(1).

También, consulte Cómo puedo especificar el código de salida de una aplicación de consola en. NET?.

 2
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:07

Para fallar una compilación de Jenkins desde Windows PowerShell, puede usar la sugerencia de Steve para C # de la siguiente manera:

$theReturnCode = 1
[System.Environment]::Exit( $theReturnCode )

Notas

1.Windows recicla códigos de salida superiores a 65535. ( https://stackoverflow.com/a/31881959/242110)

2.La API REST de Jenkins tiene un comando '/ stop', pero eso cancelará la compilación en lugar de fallarla. ( https://jenkinsapi.readthedocs.org/en/latest/build.html)

3.Jenkins también puede marcar una construcción 'inestable', y esto post ( https://stackoverflow.com/a/8822743/242110) tiene detalles sobre esa solución.

 1
Author: AnneTheAgile,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:08