Jenkins Tutoriel sur les pipelines : Comment créer JenkinsFichier (Exemple)

⚡ Résumé intelligent

Jenkins Un pipeline relie les tâches de construction, de test et de déploiement en une séquence ordonnée exécutée comme du code. JenkinsLe fichier enregistré à côté du projet transforme cette séquence en une définition de livraison versionnée et révisable.

  • (I.e. Pipeline: Un ensemble d'événements interdépendants où chaque tâche dépend de la précédente.
  • ☑️ JenkinsFichier: Un fichier texte dans un langage spécifique au domaine, contenant chaque étape du pipeline.
  • ✅ Deux syntaxes : L'approche déclarative offre une hiérarchie fixe ; l'approche scriptée offre une structure de transactions pour Groovy .
  • 🧪 Quatre termes : Les termes Pipeline, nœud, étape et phase désignent le flux, la machine, la phase et la tâche.
  • ️ Chemin d'installation : Installez le plugin de pipeline de construction, ajoutez une vue de pipeline, enchaînez les tâches, exécutez-le.
  • 📌 Les pratiques: Placez les tâches matérielles dans un bloc de nœuds, les tâches non liées à la configuration dans une étape, et enveloppez les entrées dans des délais d'attente.

Jenkins pipeline défini comme du code dans un JenkinsFichier

Qu'est-ce que le Jenkins Pipeline?

Jenkins Pipeline est une combinaison de plugins qui prend en charge l'intégration et la mise en œuvre de pipelines de livraison continueIl s'agit d'un serveur d'automatisation extensible permettant de créer des pipelines de livraison simples et complexes sous forme de code via le DSL de pipeline. Un pipeline est un ensemble d'événements interconnectés en une séquence.

Qu’est-ce que les pipelines de livraison continue ? Comment ça fonctionne?

Dans une Jenkins Dans un pipeline, chaque tâche ou événement dépend d'au moins un autre événement, comme le montre le diagramme ci-dessous.

Le pipeline de livraison continue comprend les étapes de construction, de déploiement, de test et de publication. Jenkins
Fonctionnement de Jenkins Pipelines de livraison continue

L'image ci-dessus représente un pipeline de livraison continue. Jenkins, est composé d'états appelés build, deploy, test et release. Chaque état possède ses propres événements, qui s'exécutent séquentiellement.

Un pipeline de livraison continue exprime ce processus automatiquement, transportant le logiciel du contrôle de version à la publication via une séquence de compilations répétable. vers les tests et les étapes de déploiement.

Qu'est-ce que la JenkinsFichier?

Jenkins Les pipelines peuvent être définis dans un fichier texte appelé JenkinsFichier. Il exprime le pipeline sous forme de code dans un langage spécifique au domaine (DSL) et contient chaque étape nécessaire à l'exécution du pipeline.

Les avantages d'utiliser JenkinsLes fichiers sont :

  • Un JenkinsLe fichier peut créer des pipelines pour chaque branche et exécuter des demandes d'extraction.
  • Vous pouvez consulter votre Jenkins code sur le pipeline
  • Vous pouvez auditer votre Jenkins pipeline
  • Il s'agit de la source unique de votre pipeline et peut être modifiée par plusieurs utilisateurs.

Un pipeline peut être défini dans le Jenkins interface utilisateur web ou dans une JenkinsFichier intégré au système de contrôle de version. Un fichier déclaratif minimal possède une structure fixe : un bloc pipeline, un agent et des étapes contenant chacune une étape par phase.

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying'
            }
        }
    }
}

L'enregistrement à la racine du dépôt met à jour le pipeline avec le code.

Syntaxe déclarative versus syntaxe de pipeline scriptée

Il existe deux types de Jenkins Syntaxe de pipeline utilisée pour définir votre JenkinsFichier.

  1. Déclaratif
  2. Scripté

Déclaratif

La syntaxe déclarative des pipelines est la solution la plus simple. Elle suit une hiérarchie prédéfinie tout en contrôlant clairement chaque aspect de l'exécution du pipeline.

Scripté

Scripté Jenkins Le pipeline fonctionne sur le Jenkins Le contrôleur utilise un exécuteur léger, consommant très peu de ressources pour traduire le pipeline en commandes atomiques. Les deux sont écrits de manière assez différente, il faut donc en choisir un par JenkinsFichier.

⚠️ À noter: Jenkins appelle maintenant le maître le contrôleur.

Pourquoi utiliser Jenkins Pipeline?

Jenkins est un ouvert serveur d'intégration continue qui automatise processus de développement logicielVous pouvez en créer plusieurs emplois d'automatisation à partir de vos cas d'utilisation et exécutez-les comme un seul pipeline.

Voici les raisons pour lesquelles vous devriez utiliser Jenkins pipeline:

  • Le pipeline est implémenté sous forme de code, ce qui permet à plusieurs utilisateurs de modifier et d'exécuter le processus.
  • Les pipelines sont robustes : si le serveur redémarre de manière inattendue, le pipeline reprend automatiquement.
  • Vous pouvez suspendre un pipeline et le maintenir en attente jusqu'à ce qu'un utilisateur fournisse une entrée.
  • Les pipelines prennent en charge les projets de grande envergure : ils permettent d’exécuter plusieurs tâches et même d’utiliser des pipelines en boucle.

Jenkins Pipeline Concepts

Quatre termes se répètent dans chaque JenkinsFichier:

LongDescription
PipelineUn ensemble d'instructions, sous forme de code, qui décrit l'intégralité du processus de compilation pour le déploiement continu. Un pipeline permet de compiler, tester et déployer l'application.
NœudLa machine sur laquelle Jenkins Chaque exécution est appelée un nœud. Un bloc de nœud est principalement utilisé dans la syntaxe des pipelines scriptés.
StageUn bloc d'étape contient une série d'étapes. Les processus de construction, de test et de déploiement sont chacun regroupés dans une étape, ce que visualise également la vue du pipeline.
EtapeUne tâche unique qui exécute un processus spécifique à un moment défini. Un pipeline est une série d'étapes.

Installez le plugin Build Pipeline dans Jenkins

Le plugin de pipeline de construction crée une vue de pipeline des tâches entrantes et sortantes et ajoute des déclencheurs d'intervention manuelle.

Installez-le comme suit :

Étape 1) Les paramètres du plugin se trouvent sous Gérer Jenkins > Gérer les plugins, indiqué ci-dessous.

⚠️ Note de version : actuel Jenkins Les versions étiquetent cet écran Gérer Jenkins → Plugins; les onglets se comportent comme décrit ici.

page Gérer les plugins dans Jenkins où se trouvent les paramètres du plugin de pipeline de construction

Si vous avez déjà installé le plugin, il est affiché sous l'onglet installé.

Onglet installé de Jenkins Gestionnaire de plugins listant le plugin de pipeline de construction

Étape 2) Si le plugin n'est pas déjà installé, il apparaît dans l'onglet Disponible.

Avec le plugin installé :

Comment créer Jenkins Pipeline

Une fois que vous êtes connecté à votre Jenkins tableau de bord:

Étape 1) Cliquez sur le bouton « + » situé à gauche de votre écran. Jenkins tableau de bord pour créer un pipeline.

Bouton Plus sur le Jenkins tableau de bord utilisé pour ajouter une nouvelle vue

Étape 2) Remplissez la nouvelle boîte de dialogue d'affichage :

  1. Donnons un nom à cette vue en pipeline. Nous l'appellerons «Guru99 Pipeline pour cette démo.
  2. Sélectionnez « Créer une vue de pipeline » sous « Options ».
  3. Cliquez sur OK, comme indiqué ci-dessous.

Nouvelle boîte de dialogue de vue avec le nom de la vue de pipeline saisi et l'option « Créer une vue de pipeline » sélectionnée.

Étape 3) La page suivante demande des informations de configuration supplémentaires. Acceptez les paramètres par défaut et assurez-vous de sélectionner la première tâche dans les paramètres.

Cliquez sur Appliquer puis sur OK.

Page de configuration de la vue du pipeline avec les paramètres par défaut et la première tâche sélectionnée

L'aperçu du pipeline de votre élément s'affiche alors :

Échantillon Jenkins vue du pipeline de construction créée pour le GuruArticle 99 Pipeline

Exécuter une build de pipeline

Étape 1) Commencez par chaîner vos tâches : ouvrez votre première tâche et cliquez sur « Configurer ».

Configurer le lien sur le premier Jenkins emploi utilisé pour commencer à enchaîner les emplois

Étape 2) Maintenant, dans la section Déclencheurs de compilation, cochez l'option « Compiler après la compilation des autres projets ».

Dans la section « Déclencheurs de génération », cochez l’option « Générer après la génération des autres projets ».

Il existe désormais une chaîne pour tous vos emplois.

Étape 3) Installez le plugin Build Pipeline View si vous ne l'avez pas déjà installé.

Étape 4) Sur le Jenkins Dans le tableau de bord, créez une vue avec le bouton « + », sélectionnez l'option Vue du pipeline de construction et cliquez sur OK.

Nouvelle boîte de dialogue d'affichage avec l'option Vue du pipeline de construction sélectionnée

Étape 5) Dans la configuration de la vue Pipeline, repérez Flux du pipeline.

Sous Flux de pipeline, sélectionnez la tâche initiale à exécuter — la tâche enchaînée aux autres des étapes 1 et 2.

Paramètres de flux de pipeline avec Guru99 Projet 1 choisi comme projet initial

GuruLe projet 99 1 est sélectionné ici comme tâche initiale, donc les tâches enchaînées s'exécutent une par une.

Pendant le fonctionnement du pipeline, des symboles rouges et verts indiquent son état : rouge en cas d’échec, vert en cas de succès.

Dans cet exemple, le bouton est vert, le processus a donc réussi.

Le bouton vert indique une opération réussie. Jenkins pipeline run

Fonctionnement Jenkins pipeline

Cliquez sur Exécuter pour lancer le programme. Jenkins pipeline. Cela ressemblera à ceci :

bouton Exécuter sur le Jenkins vue du pipeline de construction

L'exemple ci-dessus crée un programme simple « helloworld.java ». Les projets réels enchaînent des pipelines bien plus complexes, comme le montre la vue détaillée ci-dessous.

Terminée Jenkins Vue du pipeline de construction affichant chaque tâche chaînée dans l'ordre

⚠️ Note de version : Le plugin Build Pipeline View est l'ancienne méthode pour visualiser les tâches enchaînées de style libre ; la pratique actuelle définit le même flux dans un JenkinsFichier. Bleu Ocean n'est plus amélioré.

Meilleures pratiques d'utilisation Jenkins Pipeline

Sept habitudes pour assurer la maintenance d'un pipeline :

  • Utilisez le véritable Jenkins Pipeline
  • Développez votre pipeline sous forme de code
  • Tout travail non lié à la configuration dans votre pipeline doit être effectué dans un bloc d'étape.
  • Tout travail matériel dans un pipeline doit être effectué dans un bloc de nœuds.
  • N'utilisez pas d'entrée à l'intérieur d'un bloc de nœud.
  • Ne définissez jamais de variables d'environnement avec la variable globale env
  • Enveloppez vos entrées dans un délai d'attente

FAQ

Il analyse un dépôt, trouve chaque branche contenant un JenkinsUn fichier est créé, et une tâche est définie pour chaque branche. Le comportement de chaque branche est déterminé par la variable BRANCH_NAME présente dans ce fichier.

Rangez-les dans le Jenkins Les informations d'identification sont stockées et lues à l'aide de la fonction `credentials()` dans un bloc d'environnement. La valeur est injectée à l'exécution et masquée dans le journal, de sorte qu'aucun mot de passe n'est enregistré dans le fichier.

Il s'exécute une fois les étapes terminées, quel que soit le résultat. Des conditions telles que « toujours », « succès », « échec » et « instable » permettent à un seul fichier de publier des rapports, d'archiver des artefacts et d'informer l'équipe de manière unique.

Oui. Un bloc parallèle au sein d'une étape exécute ses branches simultanément, ce qui convient aux suites réparties sur plusieurs navigateurs. Chaque branche nécessite un agent ; le temps d'exécution diminue donc uniquement lorsque des exécuteurs sont disponibles.

Envoyez-le au point de terminaison du linter déclaratif, ou ouvrez Replay sur une exécution précédente, modifiez le script et exécutez-le sans toucher au dépôt. Ces deux méthodes permettent de détecter rapidement les erreurs de syntaxe.

Un assistant IA peut lire un long journal de console et regrouper les piles répétitives. tracIl faut indiquer l'étape où la défaillance a commencé. Cela permet également de signaler les tests intermittents. Vérifiez chaque suggestion à l'aide du journal brut.

Oui. Copilot Il élabore un squelette déclaratif à partir d'un commentaire nommant les étapes et complète des opérations telles que l'extraction et les commandes shell. RevConsultez les étiquettes, les informations d'identification et les délais d'expiration des agents de visualisation, que les suggestions devinent souvent incorrectement.

Une fois que le même bloc apparaît dans trois ou plusieurs JenkinsFichiers. Une bibliothèque partagée conserve cette logique dans un seul dépôt versionné, de sorte qu'une correction est appliquée à chaque projet et que chaque fichier ne conserve que ses propres étapes.

Résumez cet article avec :