JenkinsFile Try-Catch

JenkinsFile Try-Catch

Les blocs d'essai et de mise en œuvre à Jenkins sont un moyen de gérer les exceptions qui peuvent être lancées lors de l'exécution d'un pipeline Jenkins. Ils nous permettent de définir un bloc de code et de spécifier des blocs séparés pour exécuter si une exception est lancée.

Cela peut être utile pour gérer des conditions d'erreur spécifiques et prendre des mesures appropriées, comme réessayer une version échouée ou enregistrer un message d'erreur.

Jenkins essaie de prendre des blocs

Pour utiliser les blocs d'essai et de capture dans Jenkins, nous pouvons utiliser un bloc de script et définir un code groovy à l'intérieur de ce bloc.

Ce qui suit montre la syntaxe des blocs d'essai et de capture que nous pouvons utiliser dans Jenkins:

essayer
// Bloc de code pour tester
catch (exception e)
// Exécuter si une exception est lancée

Dans le bloc d'essai, nous pouvons mettre n'importe quel code que nous voulons être exécuté. Si une exception est lancée pendant l'exécution, le pipeline sautera vers le bloc de capture qui définit le code à exécuter en cas d'exception

Nous pouvons également spécifier un type d'exception spécifique à attraper en le définissant dans le bloc de capture. Par exemple:

essayer
// Bloc de code à exécuter
catch (ioexception e)
// Exécuter si une IOException est lancée

Cela peut être utile si nous voulons gérer différemment différents types d'exceptions. Par exemple, nous pourrions vouloir réessayer une version si elle échoue en raison d'une erreur réseau mais enregistrez un message d'erreur et sortez s'il échoue en raison d'une erreur de syntaxe.

Comment gérer plusieurs exceptions

Nous pouvons utiliser plusieurs blocs de capture pour gérer différents types d'exceptions. Par exemple:

essayer
// Bloc de code pour tester
catch (ioexception e)
// Exécuter si une IOException est lancée
catch (nullpointerException e)
// Exécuter si une nulpointerException est lancée

Dans ce cas, si une IOException est lancée, le code du premier bloc de capture sera exécuté. Si une nulpointerException est lancée, le code du deuxième bloc de capture sera exécuté.

Le bloc enfin

De plus, pour essayer de prendre des blocs, nous pouvons également utiliser un bloc final pour spécifier le code qui devrait être exécuté, que ce soit une exception qui est lancée.

Par exemple, la syntaxe suivante montre l'utilisation du bloc enfin dans un pipeline Jenkins:

essayer
// Bloc de code
catch (exception e)
// Exécuter à l'exception
enfin
// exécuter, peu importe si une exception est lancée

Le code du bloc final sera exécuté après le bloc d'essai et tous les blocs de capture ont été exécutés. Cela peut être utile pour nettoyer les ressources ou effectuer d'autres tâches qui doivent être effectuées, que ce soit une exception qui a été lancée.

Exemple d'utilisation

L'exemple de pipeline suivant montre comment nous pouvons utiliser les blocs d'essai et de capture dans un pipeline Jenkins:

pipeline
agent
étapes
étape ('invite for enting')
pas
scénario
def userInput
userInput = Message d'entrée: 'Entrez une valeur:', ID: 'User_Input'
essayer
Echo "Entrée utilisateur: $ userInput"
catch (exception e)
userInput = Message d'entrée: «Entrée non valide. Veuillez saisir une valeur valide: ', id:' user_input '
Réessayer (3)





Dans ce pipeline déclaratif, le bloc de script enferme un code groovy qui invite l'utilisateur à une entrée donnée. Si aucune entrée n'est fournie, le script réessayera l'invite trois fois avant de faire avorter.

Conclusion

Dans cet article, nous avons appris à utiliser les blocs d'essai et de mise en œuvre dans le pipeline Jenkins pour gérer les exceptions.