Définir et utiliser le délai d'expiration de Jenkins

Définir et utiliser le délai d'expiration de Jenkins

Lorsque vous travaillez à Jenkins, vous pouvez rencontrer des emplois qui mettent beaucoup de temps à exécuter, ce qui entraîne une utilisation intensive des ressources et un impact sur les performances sur le serveur.

Cependant, Jenkins nous permet de définir un délai d'expiration de construction pour spécifier la durée de la durée d'une construction avant sa fin de résiliation. Dans ce cas, un délai d'expiration de construction est utile lorsque vous avez des versions de longue date qui peuvent être coincées ou geler pour une raison quelconque.

Dans ce tutoriel, nous explorerons comment configurer un délai de construction dans Jenkins.

Exemple de pipeline

Pour illustrer au mieux quand et comment utiliser l'option Timeout dans Jenkins, prenons un pipeline d'échantillons comme indiqué ci-dessous:

pipeline
agent
étapes
étape ('entrée')
pas
scénario
def userInput = Message d'entrée: «Veuillez saisir une valeur: ', Paramètres: [String (defaultValue:« Valeur par défaut », description:« Entrez une valeur », nom:« inputvalue »)]]
Echo "Entrée utilisateur: $ userInput"




Dans ce cas, le pipeline a une seule étape appelée «Saisir", Qui contient une seule étape qui invite l'utilisateur à l'entrée.

Le "saisir”Step affiche un message à l'utilisateur et attend que l'utilisateur saisisse une valeur. La valeur dans laquelle l'utilisateur entre est stockée dans le «userinput»Variable. Enfin, nous imprimons le message d'entrée à la console à l'aide de la commande echo.

Une fois configuré, créez le pipeline et voyez ce qui se passe.

Si nous ne fournissons pas d'entrée dans le pipeline ci-dessus, le pipeline attendra indéfiniment pour que vous puissiez entrer une valeur. C'est parce que le «saisir"L'étape est bloquante, ce qui signifie que le pipeline ne continuera pas à l'étape suivante jusqu'à ce que l'utilisateur ne fournit l'entrée.

Pour surmonter cela, nous pouvons configurer une valeur de délai d'expiration qui terminera automatiquement la construction après une durée donnée.

L'exemple de script montre comment nous pouvons utiliser la fonctionnalité Jenkins Timeout pour terminer la construction après 10 secondes.

pipeline
agent
étapes
étape ('entrée')
pas
Timeout (temps: 10, unité: 'secondes')
scénario
def userInput = Message d'entrée: «Veuillez saisir une valeur: ', Paramètres: [String (defaultValue:« Valeur par défaut », description:« Entrez une valeur », nom:« inputvalue »)]]
Echo "Entrée utilisateur: $ userInput"





Le "temps libre«L'étape permettra au«saisir”Étape pour fonctionner pendant 10 secondes avant de synchroniser. Si l'utilisateur ne fournit pas d'entrée dans le délai spécifié, terminez la construction ou passez à l'étape suivante.

Jenkins obligera la construction à se terminer même s'il y a des actions imbriquées après que le délai d'attente s'est écoulé.

Conclusion

Dans cet article, nous avons appris la fonctionnalité de temps d'attente de Jenkins et comment l'utiliser pour spécifier la durée maximale pour une construction à exécuter. Nous avons vu comment définir un délai d'expiration en utilisant le «temps libre”Commande dans un script de construction.

Dans l'ensemble, la fonction de délai d'expiration de Jenkins est un outil précieux pour empêcher les versions de longue durée de rester coincées ou de gel et de s'assurer que les constructions ne consomment pas de ressources excessives. Cela peut vous aider à garantir que votre instance Jenkins fonctionne bien et efficacement.