Un JenkinsFile est un fichier texte contenant des instructions pour construire un projet et exécuter des tests à Jenkins.
Un JenkinsFile est généralement utilisé pour définir un pipeline Jenkins et est vérifié dans le contrôle de la source aux côtés du reste du code source du projet. Si le JenkinsFile est modifié, l'instance Jenkins détectera les modifications et reconstruia le projet avec les instructions spécifiées dans le fichier.
L'utilisation d'un JenkinsFile aide à automatiser le processus de construction et de test et garantit que le projet est construit de manière cohérente à chaque fois. Il facilite le partage et la réutilisation de construction sur différents projets.
Lorsque vous travaillez avec un JenkinsFile, vous pouvez rencontrer une instance où vous devez stocker des valeurs utilisées plus tard dans le fichier ou référencées par d'autres parties du script. C'est là que les variables JenkinsFile entrent en jeu.
Dans ce tutoriel, nous apprendrons à utiliser des variables dans un JenkinsFile pour stocker les valeurs pour une utilisation ultérieure.
Qu'est-ce qu'une variable JenkinsFile?
Une variable JenkinsFile fait référence à un conteneur de stockage défini et utilisé pour stocker et référencer les valeurs soumises à un changement dans le script.
Dans la plupart des cas, nous définissons les variables au début du Jenkinsfile. Les variables contiendront une portée globale signifiant qu'elles sont accessibles à tout moment du Jenkinfile.
Comment définir une variable dans Jenkinsfile déclaratif
Considérez le Jenkinfile suivant qui imprime un simple texte Hello World à la console.
pipeline
agent
étapes
scène ('Hello')
pas
Echo 'Hello World'
Supposons que nous souhaitons ajouter une variable contenant une chaîne donnée et l'imprimer à la console au lieu de "Hello World"?
Nous pouvons commencer par définir une nouvelle variable pour conserver le message à la sortie sur la console.
Dans un JenkinsFile, nous définissons une variable en utilisant le mot-clé DEF suivi du nom de la variable, de l'opérateur d'affectation et de la valeur de la variable.
Par exemple:
def msg = "Ceci est un texte personnalisé"
L'exemple ci-dessus définit une variable appelée msg tenant une valeur de chaîne.
Les variables sont dynamiques. Par conséquent, nous n'avons pas besoin de spécifier le type de données pendant la déclaration variable.
Nous pouvons ensuite utiliser la variable comme indiqué:
def msg = "Ceci est un texte personnalisé"
pipeline
agent
étapes
scène ('Hello')
pas
Echo "$ msg"
Assurez-vous d'enfermer le message en guillemets.
Une fois que nous avons construit le pipeline, nous devrions voir le texte imprimé dans la console comme indiqué:
Si vous souhaitez modifier la valeur d'une variable prédéfinie, vous pouvez utiliser un bloc de script comme indiqué:
étapes ()
pas()
scénario
msg = "Maintenant, la chaîne est différente!!"
Ce qui suit montre la définition complète du pipeline.
def msg = "Ceci est un texte personnalisé"
pipeline
agent
étapes
scène ('Hello')
pas
scénario
msg = "Maintenant, la chaîne est différente!!"
Echo "$ msg"
L'exécution du pipeline ci-dessus doit renvoyer le texte:
Conclusion
Dans cet article, vous avez découvert comment définir des variables dans un JenkinsFile et appris à utiliser les variables et à modifier leurs valeurs dans un Jenkinsfile.