Intégration continue

Jenkins, créer et gérer des pipelines CI/CD

Objectifs de la formation

  • Maîtriser les principes de livraison et déploiement continus et comprendre le rôle de Jenkins dans le cycle de développement logiciel
  • Installer, configurer et dimensionner un serveur Jenkins
  • Gérer l'intégration avec d'autres outils : Git, Gradle, Maven, Docker…
  • Mettre en œuvre les bonnes pratiques pour automatiser builds, tests et déploiements
  • Implémenter des pipelines de livraison continue avec la suite de plugins Jenkins Pipeline
  • Adapter l'exploitation de Jenkins à son contexte professionnel


Programme de la formation

Introduction

  • Les pratiques agiles, DevOps et la philosophie « continue » (intégration continue, livraison continue, déploiement continu et feedbacks)
  • Activités de test logiciel et automatisation (TDD et BDD)
  • Qu’est-ce que Jenkins ? L’orchestrateur de l’intégration continue

Prise en main et configuration

  • Rappel de la Terminologie Jenkins : master, node, job, agent…
  • Structure des répertoires JENKINS_HOME et jobs
  • L’interface utilisateur et ses composants
  • Gestion du code source (Source Code Management) : commits, branches et Pull Requests
  • Vue d’ensemble des outils Git, Java, Gradle, Maven...
  • Les types de projets Jenkins : freestyle vs pipeline

Pipelines : mise en place

  • Présentation de l’approche, bénéfices et cas d’usage
  • Groovy et DSL
  • Les syntaxes : déclarative ou de script
  • Le fichier Jenkinsfile : pipeline-as-code
  • Sections et étapes d’un pipeline
  • Créer et exécuter un pipeline déclaratif
  • Visualisation des logs
  • Modifier et rejouer un pipeline
  • Gestion des chaînes de caractères (strings)

Travaux pratiques

Création de pipelines, utilisation de la syntaxe déclarative, modification de pipelines.

Pipelines : configuration avancée

  • Présentation des plugins Jenkins
  • Les propriétés globales (interface de Jenkins)
  • Les paramètres
  • Les variables d'environnement
  • Les artefacts
  • Les empreintes
  • Les identifiants (secrets / credentials)
  • Relation entre les jobs
  • Gérer les erreurs (post actions...)
  • Paralléliser des tâches
  • Pipeline multi configurés (matrix)
  • Utiliser des images Docker comme environnement d’exécution pour un pipeline
  • Introduction aux librairies partagées

Travaux pratiques

mise en place de tâches parallèles, exécution avec Docker, gestion des erreurs.

Transformation d’un projet freestyle vers Pipeline

  • Générer un Jenkinsfile depuis un projet Freestyle
  • Personnaliser le Jenkinsfile

Travaux pratiques

Transformer un projet freestyle existant vers un projet Pipeline

Plugins

  • Quelques plugins utiles (tests, qualité...)
  • Le Chat d’équipe et la gestion des notifications avec Zulip
  • Jenkins Templating Engine (JTE)

Please login to get access to the quiz
GitLab utilisateur (Prev Lesson)
(Next Lesson) Jenkins, mettre en place l’intégration continue en Java
Back to Intégration continue
Public

Responsables qualité, chefs de projets, développeurs

Pré-requis

Connaître Java et avoir les notions de base sur le cycle de développement logiciel. Une familiarité avec des outils comme Docker, Git, Maven ou JUnit est un bon plus mais non obligatoire.