Formation Intégration continue avec Maven, Nexus, Jenkins, Sonar Intégration continue dans le cadre d'un projet Java

Durée 3 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence OICJ

Cette formation a pour objectif de présenter les outils les plus répandus pour mettre en place une intégration continue dans le cadre d’un projet Java.

La formation commence par une introduction à l’intégration continue, les principes, les étapes de mise en place, les relations avec les méthodologies Agile et l’approche DevOps.

La seconde partie traite des outils de gestion des sources, en décrivant les différences entre les SCMs centralisés (SVN) et les SCMs distribués (Git), les principales opérations et les workflows de collaboration associés.

La troisième partie est consacrée à l’outil Maven, outil de build permettant la construction automatisée et reproductible des exécutables à partir des sources. Le cycle de vie projet proposé par Maven est explicité, les notions de plugin, de gestions des dépendances et des dépôts, de personnalisation du cycle de build sont vus en profondeur. En particulier, la gestion de release, les interactions entre Maven et Nexus, l’importance des tests et de l’analyse du code source par SonarQube sont mis en avant.

La quatrième partie présente le serveur d’intégration continue Jenkins, sa mise en place, l’installation de plugins, le modèle maître/esclave, la notion de jobs et de pipeline. Les ateliers consistent à mettre en place une pipeline d’intégration continue exécutant toutes les étapes de construction de logiciel : compilation, tests, analyse de code source, déploiement d’artefact et provisionnement de serveurs d’intégration.

À l'issue de cette formation Intégration continue Java, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Comprendre l’intégration continue, ses principes, les étapes de mise en place, les relations avec les méthodologies Agile et l’approche DevOps
  • Gérer les sources avec les SCMs
  • Gérer les releases avec l'outil Maven et Nexus
  • Analyser le code source avec SonarQube
  • Mettre en place le serveur d’intégration continue Jenkins et mettre en place une pipeline d’intégration continue

Public :

Ce cours Intégration continue s'adresse aux développeurs, testeurs, qualificateurs et intégrateurs souhaitant mettre en place une intégration continue dans le cadre d'un projet Java.

Prérequis :

Une connaissance minimale de Java est requise pour suivre ce cours sur l'intégration continue.

Intégration continue

Principes de l'intégration continue
Développement agile, DevOps et intégration continue
Pré-requis à l'intégration continue  
Typologies des  tests et métriques d'un logiciel
Cycle de vie d'un projet ; le modèle Maven
Outils annexes et intégration : Repository artefacts, Tests et qualité de code

Gestion des sources avec les SCMs

Rôle d’un SCM
Typologie des SCM : centralisé ou distribué. Impacts
Les principales opérations d’un SCM, spécificité des SCMs distribués
La notion de branches et de développement - La fusion de branches
Workflows de collaborations
Mise en place de SVN, mise en place de Git. Outils

Travaux Pratiques :

Mise en place de 2 dépôts : SVN et Git. Opérations de commit, update. Opérations Pull et Push de Git

Maven

Le POM, les coordonnées Maven, les différents dépôts, cycle de vie
Notion d'archetype, types d'artefact, options pour le démarrage de projet
Gestion des dépendances, Visualisation arbre de dépendances, Gestion des versions
Plugins Maven, configuration documentation
Ajout de plugin, augmenter le cycle de vie standard,
Structure des projets multi-modules

Travaux Pratiques :

POM d’un projet multi-modules, personnalisation du build pour intégrer des tests d’intégration et des tests de performance

Gestion des releases avec Maven et Nexus

Problématique de la production d'une release
La phase deploy de Maven
Le plugin Release
Intégration Nexus Maven
Fonctionnalités de Nexus

Travaux Pratiques :

Personnalisation du déploiement pour utiliser un dépôt Nexus, gestion des versions avec le plugin Release

Analyse du code source avec SonarQube

Modèle qualité d’un logiciel et métriques associés
L’offre de Sonar (SonarQube et SonarLint)
Architecture Sonar
Concepts Sonar : SonarScanner, Règles, Violations, Profils qualité
Cycle de vie des violations
Métriques qualité, formules de calcul
Leak periodes et porte qualité
Mise en place d’une démarche qualité et personnalisation des règles
Intégration Maven

Travaux Pratiques :

Installation de SonarQube, personnalisation dans le cadre d’un projet, démarrage de l’analyse via Maven

Mise en place du serveur Jenkins

L'offre Jenkins/Hudson. Notion de job, de workspace, de graphique de tendance
L'interface Web
Mise en place du serveur, les différents types d'installation
Contenu du répertoire .jenkins
Configuration des outils (Java, Maven, SCM, Serveur de mail)
Les plugins Jenkins, configuration, documentation
Mise en service, dimensionnement

Travaux Pratiques :

Installation d'un serveur Jenkins et de plugins, démarrage du build Maven précédemment mis au point

Pipeline d'intégration continue

Définition d’une pipeline
Pilpeline legacy et plugins associés
Le plugin BlueOcean et l’approche DevOps
Définition de pipeline avec Groovy

Travaux Pratiques :

Mise en place d’une pipeline avec les plugins legacy, avec BlueOcean

Des travaux pratiques sont proposés à la fin de chaque module (60% du cours total).


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB