Pipeline déclaratif dans Jenkins pour DevOps et CICD
Nouveau jour, nouveau sujet…. Apprenons ensemble
L'une des parties les plus importantes de notre parcours DevOps et CICD est une syntaxe de pipeline déclarative de Jenkins.
Voici quelques termes pour votre connaissance
Qu'est-ce que Pipeline... ?
Pipeline dans DevOps est un processus de livraison continue qui implique la création, le test et le déploiement d'applications logicielles de manière automatisée. Un pipeline se compose d'un ensemble d'étapes, chacune représentant une phase particulière du processus de livraison de logiciels, comme la création de l'application, l'exécution de tests unitaires et le déploiement en production.
Les pipelines sont souvent définis à l'aide d'un langage spécifique au domaine (DSL) qui permet aux développeurs de spécifier les différentes étapes et actions à entreprendre à chaque étape. En automatisant l'ensemble du processus de livraison de logiciels, les pipelines peuvent aider les équipes à réduire les erreurs, à améliorer la vitesse et l'efficacité et à garantir que les logiciels sont livrés de manière cohérente et fiable.
Qu'est-ce que le pipeline déclaratif ?
Le pipeline déclaratif est un concept de Jenkins Pipeline, qui est un plug-in qui permet d'intégrer des pipelines de livraison et d'intégration continues dans Jenkins. La syntaxe déclarative du pipeline offre un moyen simple et intuitif de définir vos étapes de construction, de test et de déploiement sous forme de code.
Avec les pipelines déclaratifs, les développeurs peuvent facilement créer, maintenir et visualiser l'intégralité du pipeline, du code au déploiement, permettant une collaboration plus efficace et transparente entre les équipes de développement et d'exploitation. Le pipeline déclaratif fournit une syntaxe simplifiée et structurée pour définir le pipeline, permettant aux développeurs de se concentrer sur la logique et le flux de leur pipeline plutôt que sur la syntaxe sous-jacente.
Qu'est-ce qu'un pipeline scripté ?
Dans Jenkins, Scripted Pipeline est un moyen plus flexible et plus puissant de créer des pipelines Jenkins car il permet aux utilisateurs d'écrire du code Pipeline dans Groovy, un langage de script pour la plate-forme Java. Scripted Pipeline offre une énorme quantité de contrôle et d'extensibilité et permet aux utilisateurs d'écrire des scripts qui peuvent faire presque tout ce qu'ils peuvent imaginer.
Il permet également aux utilisateurs de définir leurs propres fonctions, de réutiliser le code existant et d'utiliser les fonctions d'API spécifiques à Jenkins pour personnaliser le comportement du Pipeline. Cependant, cela nécessite plus de connaissances et d'expérience dans les scripts Groovy par rapport au pipeline déclaratif, qui peut être plus facile à apprendre et à utiliser pour les débutants.
Pourquoi devriez-vous avoir un Pipeline ..?
Avoir un pipeline dans votre processus de développement logiciel apporte un certain nombre d'avantages. Avant tout, il fournit un moyen structuré et automatisé de créer, tester et déployer votre logiciel, ce qui rend le processus plus efficace, cohérent et fiable. Avec un pipeline, vous pouvez détecter et corriger les erreurs tôt dans le cycle de développement, réduisant ainsi la probabilité de bogues et de défauts dans votre logiciel.
De plus, un pipeline permet une meilleure collaboration et communication entre les membres de l'équipe, car chacun peut voir l'état du processus de construction et de déploiement en temps réel. Enfin, le fait d'avoir un pipeline peut accélérer la livraison de nouvelles fonctionnalités et mises à jour à vos clients, vous permettant de rester compétitif dans le monde en évolution rapide du développement de logiciels.
La définition d'un pipeline Jenkins est écrite dans un fichier texte (appelé a Jenkinsfile
) qui à son tour peut être validé dans le référentiel de contrôle des sources d'un projet.
C'est la base du "Pipeline-as-code" ; traiter le pipeline de CD comme une partie de l'application à versionner et à réviser comme n'importe quel autre code.
La création d'un Jenkinsfile
et son engagement dans le contrôle de code source offrent un certain nombre d'avantages immédiats :
- Crée automatiquement un processus de construction de pipeline pour toutes les branches et demandes d'extraction.
- Révision/itération du code sur le Pipeline (avec le code source restant).
pipeline {
agent any
stages {
stage('Build') {
steps {
//
}
}
stage('Test') {
steps {
//
}
}
stage('Deploy') {
steps {
//
}
}
}
}
01.Créez un nouveau travail, cette fois sélectionnez Pipeline au lieu de Freestyle Project.
- Pour créer un pipeline déclaratif dans Jenkins, accédez à l'interface utilisateur Jenkins et cliquez sur Nouvel élément.
3. Accédez à la page de configuration du projet.
4. Allez maintenant dans la session de pipeline, dans la définition, sélectionnez le script Pipeline
5. Écrivez un script de pipeline pour imprimer Hello world
Pipeline:
Le pipeline déclaratif doit commencer par le bloc de pipeline et c'est le bloc obligatoire.
Agent:
L'agent indique où la tâche de build Jenkins doit s'exécuter. Dans ce cas, nous avons sélectionné l'agent comme n'importe lequel.
Étapes:
Le bloc stages se compose de différents blocs stage exécutables. Au moins un bloc d'étape est obligatoire à l'intérieur du bloc d'étapes. Ici, nous avons des noms d'étape comme "Construire, Tester, Déployer"
Pas:
Les blocs d'étapes consistent en l'opération réelle qui doit être effectuée dans Jenkins.
Dans l'exemple ci-dessus, nous imprimons "Hello World".
6. Générez le projet. Vous pouvez construire manuellement le projet en cliquant sur le lien "Build Now" dans la page principale du projet
7. Une fois la construction terminée, vous pouvez afficher la sortie de la console en cliquant sur le lien "Sortie de la console" dans la page de construction.
Comme vous pouvez le voir dans la sortie ci-dessus, le Pipeline s'est exécuté avec succès et a imprimé Hello World.
C'est tout ce qui concerne la tâche d'aujourd'hui du voyage DevOps.
Merci pour la lecture.
Si vous avez aimé cette histoire, cliquez sur clap, suivez pour des histoires plus intéressantes et utiles.