loader image

Gate Training

logo-png
Virtualisation - Cloud - DevOps

Formation Jenkins : intégration continue

2 Jours

Description de la formation Jenkins

Jenkins est un serveur Open Source d’intégration continue permettant d’automatiser les tâches de build, tests, déploiement, production de release. Sans aucune intervention, les travaux validés dans l’outil de gestion de configuration (Git, SVN ou autres) sont automatiquement testés, audités et déployés sur les plateformes d’intégration ou même de production.

En temps réel, l’équipe agile étendue peut alors visualiser toutes les métriques du projet pour chaque branche et commit (résultats des tests, qualité de code, etc.). La productivité globale de l’équipe s’en montre fortement accrue. Le serveur d’intégration continue, tel que Jenkins, est une brique essentielle de l’approche DevOps et du développement agile.

Objectifs

Objectif opérationnel : 

Savoir installer, configurer et dimensionner un serveur Jenkins.

Objectifs pédagogiques : 

Concrètement, à l’issue de cette formation Jenkins, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Comprendre les principes et les bénéfices de l’intégration continue
  • Savoir installer, configurer et dimensionner un serveur Jenkins
  • Être capable d’intégrer Jenkins avec d’autres outils (SCMs, Sonar, Nexus, Gestionnaire de tickets, Docker)
  • Savoir définir des pipelines d’intégration ou de déploiement continue via l’interface Jenkins et via des scripts Pipelines
  • Comprendre comment exploiter un serveur Jenkins
  • Savoir utiliser l’API Rest et la CLI de Jenkins pour automatiser les builds
  • Savoir automatiser les tests et les audits de code
  • Être capable d’automatiser et de déployer Jenkins sur un projet

À qui s’adresse cette formation ?

Public :

Ce cours Jenkins s’adresse à des développeurs, architectes et ingénieurs désireux de mettre en place un environnement d’intégration et de déploiement continus pour leurs projets.

 

Prérequis :

Les participants possèdent nécessairement des notions du système et du cycle de développement d’un logiciel. Une expérience collaborative de développement (idéalement en Java) est recommandée pour avoir une bonne vision d’ensemble des différents rôles et implications des acteurs du projet. Si elle est éloignée du développement, cette participation en équipe à un projet doit au moins s’être inscrite dans une démarche agile.

 

Contenu du cours Jenkins

Jour 1

Introduction à l’intégration et au déploiement continus (Concepts Clés)

Les méthodes agiles et la transition DevOps
Cycle de vie du code jusqu’à la production
Intégration, Livraison, déploiement continus
Le rôle du SCM, utilisation des branches
Typologies des tests et des analyses statiques, positionnement dans les pipelines CI/CD
Automatisation des déploiement : Problématique de provisionnement et outils d’IaaC
Déployer Jenkins dans un projet

Mise en place du serveur Jenkins (Jenkins usage CJE)

L’offre Jenkins/Hudson. Notion de job, de workspace, graphes de tendance
L’interface Web
Mise en place du serveur, les différents types d’installation
Structure du JENKINS_HOME
Configuration générale, configuration des outils,
Les plugins Jenkins, configuration, documentation
Travaux pratiquesInstallation de Jenkins en service, Configuration Git, Java, Maven. Mise en place de build Maven

Intégration Jenkins (Jenkins usage CJE)

Intégration SCM et WebHooks
Intégration avec les outils de gestion de tickets
Intégration Outils de Test (unitaires, intégration, fonctionnel, performance)
Intégration de la qualité avec SonarQube, intégrer les rapports des audits qualité
Intégration Repository d’artefact, Registres Docker
Notification de l’équipe, les différentes solutions
Travaux pratiquesIntégrations avec dépôt Gitlab, avec Jira, publication des rapports de tests et d’analyse Sonar, intégration NexusJour 2

Architecture Maître Esclave (Best Practices CJE)

Architecture maître esclave, les différents types d’agents
Provisionnement des agents et pré-installation d’outil, classification par labels
Agent sur le cloud, agents Docker
Dimensionnement des nœuds maîtres et des agents
Architecture HA avec CloudBees Enterprise
Travaux pratiquesMise en place d’agent SSH, Windows et JNLP, Utilisation d’agent docker

Les Pipelines (Building Continuous Delivery Pipelines CJE)

Concepts de pipeline, phases et promotions
Relation amont/aval entre jobs, Passage de paramètres, Copy d’artefacts
Plugins de synchronisation de jobs, Join Plugin, Dependency Plugin, Pipeline View
Le plugin Pipeline, Le système d’aide intégré, la documentation
Distinction de 2 syntaxes disponibles, Rappels sur Groovy
Syntaxe déclarative, les différentes directives
Construction pour la syntaxe script
Utilisation de Docker
Les librairies partagées
Travaux pratiquesPlusieurs travaux pratiques progressifs ayant pour but de mettre en place un pipeline typique de livraison continue sur une infrastructure docker incluant les phases de compilation, test, métriques qualités, déploiement en intégration et approbation manuelle

Exploitation d’un serveur Jenkins (Jenkins Usage CJE)

Activation de la sécurité, alternatives pour la gestion des utilisateurs
Gestion des autorisations et des rôles
Journalisation des actions utilisateur
Gestion de l’espace disque Monitoring de la charge CPU
Sauvegarde de la configuration
Automatisation des tâches avec CLI ou l’API Rest
Travaux pratiquesMise en place de la sécurité, sauvegarde et restauration

Réf:

0125

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible