Je voudrais marquer une build Jenkins pour échouer sur un scénario par exemple:
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
#Do Jenkins Build Fail
fi
Est-ce possible via Shell Script?
Réponse: Si nous quittons avec un entier 1, la construction Jenkins sera marquée comme ayant échoué. J'ai donc remplacé le commentaire par exit 1
pour résoudre ce problème.
Il vous suffit de quitter la sortie 1.
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
exit 1
fi
Pour échouer une génération Jenkins à partir de .NET, vous pouvez utiliser Environment.Exit(1)
.
Voir aussi Comment spécifier le code de sortie d'une application console dans .NET? .
Pour échouer une génération Jenkins à partir de Windows PowerShell, vous pouvez utiliser l'astuce de Steve pour C # comme suit:
$theReturnCode = 1
[System.Environment]::Exit( $theReturnCode )
Remarques;
1.Windows recycle les codes de sortie supérieurs à 65535. ( https://stackoverflow.com/a/31881959/24211 )
2.L'API Jenkins REST a une commande '/ stop', mais cela annulera la construction au lieu de l'échouer. ( https://jenkinsapi.readthedocs.org/ fr/latest/build.html )
3.Jenkins peut également marquer une version comme instable, et ce message ( https://stackoverflow.com/a/8822743/24211 ) contient des détails sur cette solution.