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.
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
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?.
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.
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