Les organisations adoptent de plus en plus Jenkins pour automatiser leurs processus de construction et de test, ce qui rend la gestion manuelle des tâches Jenkins difficile. La bonne nouvelle est que le plugin Jenkins DSL vous permet de définir des tâches Jenkins dans une syntaxe spécifique à un domaine (DSL).
Jenkins DSL permet de stocker les tâches dans des systèmes de contrôle de version, de les partager avec d’autres utilisateurs et de générer de nouvelles tâches à partir de modèles. Et dans ce tutoriel, vous apprendrez comment tirer parti du plugin Jenkins DSL pour faciliter l’automatisation du développement d’applications.
Lisez la suite pour ne jamais avoir à naviguer dans l’interface utilisateur de Jenkins pour créer une tâche fastidieusement !
Prérequis
Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir ce qui suit.
- A Linux machine – This guide uses Ubuntu 20.04.
- Pipeline : Job pour ajouter la suite de plugins Pipeline utilisée pour implémenter et intégrer des pipelines de livraison continue dans Jenkins.
- Pipeline : Groovy pour la capacité à exécuter directement du code Groovy.
Installation du plugin Jenkins DSL
Maintenir la cohérence entre les tâches peut être difficile, mais le plugin Jenkins DSL résout ce problème. Comment ? En vous permettant de définir des tâches sous forme programmatique, dans un fichier lisible par l’homme.
Mais avant de créer des tâches, vous devrez d’abord installer le plugin Jenkins DSL :
1. SSH vers votre serveur Jenkins et exécutez la commande suivante pour vérifier que vous avez la version requise de Java installée et que le service Jenkins est en cours d’exécution.
Vous êtes prêt à installer le plugin Jenkins DSL si vous voyez une sortie similaire à celle ci-dessous.

2. Ensuite, ouvrez votre navigateur Web préféré et accédez à http://votre_adresse_ip_du_serveur:8080/pluginManager/available. Remplacez votre_adresse_ip_du_serveur:8080 par l’adresse IP réelle de votre serveur Jenkins et le numéro de port.
3. Enfin, installez le plugin Jenkins DSL avec les étapes suivantes :
- Comme indiqué ci-dessous, tapez Job DSL dans la zone de recherche en haut à droite.
Si vous avez déjà installé le plugin Job DSL et effectué une mise à niveau à partir d’une version antérieure, les scripts Job DSL ne seront pas affichés dans la liste lors de la recherche de Job DSL. Vous pouvez accéder à http://votre_adresse_ip_du_serveur:8080/pluginManager/installed pour vérifier si le plugin Job DSL est présent.
- Cochez la case à côté de l’option Job DSL.
- Cliquez sur Installer sans redémarrage en bas pour installer le plugin Jenkins Job DSL.

L’interface utilisateur de Jenkins affichera une barre de progression pendant l’installation du plugin. Une fois l’installation terminée, vous verrez les messages de réussite similaires ci-dessous.

Création d’un travail semence Jenkins en utilisant le plugin Jenkins DSL
Maintenant que vous avez installé le plugin Jenkins DSL, n’hésitez pas à créer un travail semence Jenkins. Rédigez un script Job DSL de base et incorporez le script dans un travail semence Jenkins. Vous créerez un travail de type libre qui affiche un message « Bonjour tout le monde ! » dans la console Jenkins.
Pour incorporer un script Job DSL dans un emploi de semence Jenkins:
1. Accédez à votre tableau de bord Jenkins et cliquez sur Nouvel élément dans la barre latérale gauche. Votre navigateur vous redirige vers une page où vous pouvez créer un nouvel élément (deuxième étape).

2. Ensuite, créez un nouvel élément avec les éléments suivants:
- Entrez un nom d’élément, comme indiqué ci-dessous. Mais le nom de l’élément est défini sur seed dans ce tutoriel.
- Sélectionnez Projet Freestyle (un emploi de construction répétable, un script ou un pipeline) parmi les options ci-dessous.
- Cliquez sur OK en bas pour créer le nouvel élément et votre navigateur vous redirige vers la page de configuration du nouvel élément.

3. Conservez les paramètres par défaut pour toutes les autres sections sur la page de configuration du nouvel élément.
Faites défiler vers le bas jusqu’à la section Build, cliquez sur le bouton déroulant Ajouter une étape de construction et sélectionnez Processus des scripts DSL de tâche. Cela ouvre une option où vous fournirez un script DSL (quatrième étape).

4. Maintenant, sélectionnez l’option Utiliser le script DSL fourni, comme indiqué ci-dessous, et remplissez le bloc de code suivant dans le champ.
Ce bloc de code est une définition d’emploi Freestyle nommée jenkins-job-demo-1 qui utilise l’étape shell pour imprimer un message « Bonjour tout le monde ». Le nom de l’emploi est ce qui apparaîtra dans l’interface utilisateur de Jenkins.
Il existe de nombreuses méthodes disponibles pour créer différents types de travaux Jenkins, que vous pouvez trouver dans la documentation officielle.

5. Cliquez sur Enregistrer en bas de la page pour sauvegarder la configuration du nouvel élément (seed).

6. Enfin, accédez à votre tableau de bord Jenkins pour vérifier que le travail seed que vous avez créé existe, comme indiqué ci-dessous.

Exécution d’un travail Seed
Vous avez créé et vérifié avec succès le travail seed. Mais comment savez-vous que le travail fonctionne? Vous allez exécuter le travail seed avec le script DSL que vous avez fourni à l’étape quatre de la section « Création d’un travail seed Jenkins à l’aide du plugin DSL Jenkins ».
1. Sur votre tableau de bord Jenkins, cliquez sur le travail seed pour accéder à sa page de configuration.

2. Ensuite, cliquez sur Exécuter maintenant dans la barre latérale gauche pour lancer le travail.

3. Appuyez sur F5 pour actualiser la page. Vous verrez une nouvelle génération apparaître sous la section Historique de construction avec un statut de réussite (coche verte) en bas à gauche, comme indiqué ci-dessous.
Cette sortie indique que le travail seed s’est exécuté avec succès, créant ainsi un nouveau travail Jenkins (jenkins-job-demo-1) sous la section Éléments générés.

4. Accédez maintenant à votre tableau de bord Jenkins. Comme indiqué ci-dessous, vous verrez le nouveau travail Jenkins (jenkins-job-demo-1) créé par le travail seed.
Cliquez sur le travail nouvellement généré pour accéder à sa page de configuration.

5. Cliquez sur Exécuter maintenant pour lancer le travail généré (jenkins-job-demo-1).

6. Enfin, cliquez sur le bouton flèche vers le bas à côté de la construction réussie dans la section Historique de construction, comme vous le voyez ci-dessous. Choisissez « Sortie de la console » dans le menu contextuel pour voir la sortie de l’emploi.

Si l’emploi généré fonctionne, vous verrez le message disant Bonjour le monde ! Cet emploi fonctionne !!, comme indiqué ci-dessous, ce qui est le message que vous avez défini dans le script Job DSL.
À ce stade, vous avez créé et exécuté avec succès un emploi Jenkins en utilisant le plugin Job DSL !

Création d’un emploi pour un pipeline CI/CD en utilisant le plugin Jenkins DSL
Jusqu’à présent, vous avez appris comment créer et exécuter un emploi Jenkins de type libre en utilisant le plugin Job DSL. Vous automatiserez la partie non humaine du processus de développement logiciel en créant un emploi Jenkins pour un pipeline CI/CD.
Plus précisément, vous allez créer un emploi qui extrait le code à partir d’un référentiel GitHub, compile le code et exécute les tests unitaires.
Pour créer un emploi Jenkins pour le pipeline CI/CD :
1. Accédez à http://votre_adresse_ip_du_serveur:8080/job/seed/configure dans votre navigateur Web pour configurer votre emploi seed. . Remplacez votre_adresse_ip_du_serveur par l’adresse IP de votre serveur Jenkins, et remplacez seed par le nom de votre emploi.
2. Ensuite, faites défiler vers le bas jusqu’à la section Construction, trouvez le champ Scripts DSL et remplacez le contenu existant par le code suivant.
Cliquez sur Enregistrer une fois que vous avez ajouté le code pour sauvegarder les modifications.

3. Cliquez sur Construire maintenant dans la barre latérale gauche de l’écran suivant pour relancer le job de départ, comme indiqué ci-dessous. Sous la section Historique de construction (en bas à gauche), vous verrez que le job de départ s’est exécuté avec succès.
Cliquez sur la nouvelle construction (#2) pour accéder à la page de configuration de la construction.

4. Maintenant, accédez à la Sortie de la console de la nouvelle construction. Vous verrez un message d’éléments ajoutés et le nom du nouveau job, comme indiqué ci-dessous.
Cette sortie indique que le nouveau job de pipeline a été ajouté avec succès.

5. Retournez au tableau de bord de Jenkins, et vous verrez le nouveau job de pipeline ajouté (jenkins-job-demo-2) à la liste des jobs. Cliquez sur ce nouveau job de pipeline pour accéder à la page de configuration du job.

6. Enfin, cliquez sur Construire maintenant pour exécuter le nouveau job de pipeline. Vous verrez que le job s’est exécuté avec succès, comme indiqué dans la section Historique de construction.
Cliquez sur la flèche déroulante à côté du job et sélectionnez Sortie de la console.

Dans la Sortie de la console ci-dessous, vous pouvez voir la sortie du job, indiquant que Jenkins a cloné le dépôt avec succès, construit le code et exécuté les tests unitaires.

Conclusion
Dans ce tutoriel, vous avez appris comment créer des jobs Jenkins avec le plugin Job DSL. Vous avez abordé l’amélioration du développement d’applications en créant un pipeline CI/CD avec le plugin Jenkins Pipeline.
Le plugin Job DSL et le plugin Jenkins Pipeline fonctionnent côte à côte pour offrir une manière puissante de gérer les jobs Jenkins et les pipelines de build. Pourquoi ne pas configurer ces plugins pour créer des pipelines de build sophistiqués qui déclenchent automatiquement les jobs Jenkins dans le cadre du processus de build ?