Formation Intégration continue, déploiement et conteneurisation avec GitLab CI pour projets Java

icon public

Public : Opérationnels, Développeurs, Chefs de projets

icon horloge

Durée : 5 jour(s)

Syllabus de la formation Intégration continue, déploiement et conteneurisation avec GitLab CI pour projets Java

Pré-requis : Connaissance du cycle de vie d'une application, maîtrise des commandes de base Git

Objectifs : Mettre en oeuvre et exploiter un serveur d'intégration continue. Gérer les interconnexions avec un système de build et de tests

Modalités d’évaluation certificative :

Présentation d'un projet réalisé en amont de la session : 00 h 20 min

En amont de la session d’examen, le candidat réalise un ou plusieurs projets.
Il prépare un dossier de projet et un support de présentation de type diaporama. Le dossier de projet rend compte de l’ensemble des projets.
Lors de l’examen, le jury prend connaissance du dossier de projet imprimé avant la présentation du candidat.

Le candidat présente ensuite son ou ses projets au jury.

Entretien technique : 00 h 20 min
Le jury questionne le candidat sur la base de son dossier de projet et de sa présentation, afin de s’assurer de la maîtrise des compétences couvertes par le projet ou les projets.
Un questionnement complémentaire lui permet d’évaluer les compétences qui ne sont pas couvertes par le projet ou les projets.

Questionnaire professionnel : 00 h 30 min
L'ensemble des candidats répondent en même temps au questionnaire professionnel en présence d'un surveillant.
Le candidat étudie une documentation technique rédigée en anglais.

Il répond à
- deux questions fermées à choix unique posées en français ;
- deux questions ouvertes posées en anglais et amenant des réponses courtes, en rédigeant la réponse en anglais

Durée totale de l’épreuve pour le candidat : 01 h 10 min

Sanction : Passage de la certification professionnelle selon les modalités d'évaluation certificative définies par le référentiel. Date de session d'examen envisagées indiquées dans le contenu de la formation.

Référence : DEV103002-F

Code RNCP : RNCP37873

Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins

Contact : commercial@dawan.fr

À partir de

1 275,00 CHF HT / jour

Tarif pour une personne à distance sans frais
+ 75,00 CHF HT par participant supplémentaire
+ frais en cas de formation présentielle

1 500,00 CHF HT

Pour 20 tickets de 30mn (10 heures) utilisables pendant 12 mois

Tarif présentiel

3 975,00 CHF HT

  • PC et logiciels fournis
  • Paiement à 30 jours

Tarif distanciel

3 180,00 CHF HT

  • PC et logiciels à distance fournis sur demande
  • Paiement à 30 jours
Contacter Dawan
Usine Logicielle

Programme Intégration continue, déploiement et conteneurisation avec GitLab CI pour projets Java

Comprendre l’intégration continue et découvrir GitLab CI/CD

Rappeler le cycle de vie d’une application Java et les enjeux de l’intégration continue dans une démarche agile et DevOps.
Identifier les environnements de développement, test, recette et production.
Comprendre le rôle de GitLab dans la gestion du code source, des pipelines, des artefacts et des livrables applicatifs.
Positionner GitLab CI/CD dans une chaîne Java : dépôt Git, build Maven ou Gradle, tests automatisés, analyse qualité, packaging et déploiement.
Présenter les outils complémentaires : Docker, Docker Compose, SonarQube, registre d’artefacts, gestion des variables et secrets.
Atelier fil rouge : Mise en place d’un projet GitLab pour une application Spring Boot, création du dépôt, paramétrage initial, README.md et première organisation des branches.

Maîtriser les bases du YAML pour GitLab CI

Comprendre la syntaxe de base du YAML et ses règles d’écriture.
Déclarer des variables, collections, ancres et structures réutilisables.
Identifier les erreurs fréquentes dans un fichier .gitlab-ci.yml.
Structurer un premier fichier de pipeline lisible et maintenable.
Adapter les conventions d’écriture YAML aux besoins d’un projet Java.
Atelier fil rouge : Création du premier fichier .gitlab-ci.yml, validation de la syntaxe, déclaration de variables et factorisation des premiers éléments du pipeline.

Gérer des builds Java avec GitLab CI

Comprendre le fonctionnement des pipelines, stages, jobs, tags, artefacts et runners GitLab.
Configurer des jobs automatiques et manuels.
Utiliser un runner GitLab avec une image Docker adaptée au build Java.
Mettre en place un build Maven ou Gradle pour une application Spring Boot.
Gérer les dépendances, les dépôts, les caches et les versions de livrables.
Organiser les branches, tags et règles d’exécution des pipelines.
Produire et conserver les artefacts de build : jar, rapport de compilation, package applicatif.
Utiliser les variables CI/CD pour paramétrer le comportement du build.
Atelier fil rouge : Configuration d’un pipeline de build Maven ou Gradle pour une application Spring Boot, génération du livrable, gestion du cache de dépendances et archivage des artefacts.

Contrôler la qualité du code avec SonarQube

Comprendre les objectifs de la qualité de code dans une chaîne d’intégration continue.
Présenter les principaux contrôles : règles de codage, complexité, duplication, dette technique, vulnérabilités et code smells.
Intégrer SonarQube dans un pipeline GitLab CI.
Configurer l’analyse d’un projet Java Spring Boot.
Exploiter les rapports de qualité et interpréter les résultats.
Mettre en place des seuils de qualité et des critères d’acceptation avant fusion ou déploiement.
Atelier fil rouge : Ajout d’une analyse SonarQube au pipeline GitLab CI, génération du rapport qualité, interprétation des anomalies et correction d’exemples simples.

Automatiser les tests dans une chaîne CI/CD Java

Identifier les différents niveaux de tests : tests unitaires, tests d’intégration, tests de non-régression, tests de sécurité et tests de performance.
Exécuter automatiquement les tests Java dans GitLab CI.
Produire et publier les rapports de tests dans GitLab.
Mesurer la couverture de tests et exploiter les résultats dans le pipeline.
Bloquer ou autoriser la poursuite du pipeline selon les résultats obtenus.
Préparer les tests d’intégration nécessaires à une application Spring Boot utilisant une base de données ou des services externes.
Atelier fil rouge : Intégration de tests unitaires et de tests d’intégration Java dans le pipeline, publication des rapports, analyse des échecs et correction du pipeline.

Conteneuriser une application Spring Boot avec Docker

Comprendre le rôle de Docker dans une chaîne CI/CD applicative.
Créer un Dockerfile adapté à une application Spring Boot.
Construire une image applicative à partir du livrable Java.
Optimiser l’image : image de base, couches, variables d’environnement, exposition des ports, sécurité minimale.
Exécuter localement l’application conteneurisée.
Gérer les tags d’images en fonction des branches, commits ou versions applicatives.
Atelier fil rouge : Création du Dockerfile de l’application Spring Boot, construction de l’image Docker dans GitLab CI et exécution du conteneur applicatif.

Orchestrer un environnement applicatif avec Docker Compose

Comprendre l’intérêt de Docker Compose pour reconstituer un environnement de développement, de test ou de recette.
Définir les services nécessaires : application Spring Boot, base de données, SonarQube ou service externe simulé selon le projet.
Configurer les réseaux, volumes, variables d’environnement et dépendances entre services.
Utiliser Docker Compose dans les tests d’intégration ou dans une recette technique simple.
Documenter l’environnement conteneurisé pour faciliter la reprise du projet par une autre équipe.
Atelier fil rouge : Création d’un fichier docker-compose.yml pour lancer l’application Spring Boot et sa base de données, puis utilisation dans une étape de test ou de recette.

Gérer les variables, secrets et configurations CI/CD

Distinguer variables de projet, variables de groupe, variables protégées et variables masquées.
Gérer les configurations selon les environnements : développement, test, recette, production.
Sécuriser les informations sensibles : tokens, mots de passe, accès base de données, clés de déploiement.
Éviter l’exposition de secrets dans le code source, les logs ou les artefacts.
Utiliser les variables CI/CD dans les scripts de build, de test, de packaging et de déploiement.
Atelier fil rouge : Paramétrage des variables et secrets GitLab CI/CD pour construire, tester et déployer l’application sans exposer d’informations sensibles.

Mettre en place une stratégie de déploiement

Définir une stratégie globale d’automatisation du déploiement.
Préparer les scripts de déploiement et de mise à jour.
Utiliser les artefacts et images Docker produits par la chaîne CI/CD.
Définir les étapes de déploiement manuel ou automatique selon l’environnement cible.
Gérer les environnements GitLab, les validations manuelles et les restrictions de déploiement.
Limiter la concurrence entre déploiements avec les groupes de ressources.
Prévoir les scénarios de rollback et de retour à une version stable.
Atelier fil rouge : Construction d’un script de déploiement, déclenchement manuel vers un environnement de recette, validation du livrable et préparation d’un scénario de rollback.

Documenter le déploiement et les procédures d’exploitation

Rédiger une procédure de déploiement claire et exploitable par une équipe projet ou une équipe d’exploitation.
Décrire les prérequis techniques, variables nécessaires, étapes du pipeline, scripts utilisés et points de contrôle.
Documenter les environnements de test, recette et production.
Prévoir les procédures de vérification après déploiement et de retour arrière.
Relier la documentation technique au README.md, au wiki GitLab ou au dossier projet CDA.
Atelier fil rouge : Rédaction de la documentation de déploiement de l’application Spring Boot, incluant build, tests, image Docker, Docker Compose, variables CI/CD, procédure de déploiement et rollback.

Administrer et sécuriser les outils GitLab CI/CD

Comprendre les principaux points d’administration d’un serveur ou espace GitLab utilisé pour l’intégration continue.
Gérer les utilisateurs, rôles, permissions et accès aux projets.
Surveiller les journaux, l’espace disque, la charge CPU et la consommation des runners.
Identifier les risques liés aux runners partagés, aux permissions trop larges et aux secrets mal protégés.
Appliquer les bonnes pratiques de sécurité dans une chaîne CI/CD : moindre privilège, protection des branches, validation des merge requests, contrôle des variables et audit des pipelines.
Atelier fil rouge : Vérification des paramètres de sécurité du projet GitLab, protection des branches, contrôle des droits et revue des points sensibles de la chaîne CI/CD.

Synthèse et mise en situation finale

Reprendre l’ensemble de la chaîne CI/CD mise en place pendant la formation.
Vérifier le passage complet du pipeline : build, tests, qualité, packaging, image Docker, artefacts, déploiement et rollback.
Analyser les rapports produits et identifier les points d’amélioration.
Préparer les livrables utiles pour un projet CDA : fichier .gitlab-ci.yml, Dockerfile, docker-compose.yml, rapports de tests, rapport qualité, scripts de déploiement et documentation technique.
Atelier fil rouge : Exécution complète de la chaîne CI/CD sur l’application Spring Boot, correction des anomalies, validation du livrable final et présentation synthétique de la démarche DevOps mise en œuvre.

Supports pédagogiques

Support du formateur, exercices pratiques, cas fil rouge Java / Spring Boot, exemples de fichiers .gitlab-ci.yml, Dockerfile, docker-compose.yml, scripts de déploiement, ressources complémentaires et éléments mobilisables pour le dossier projet CDA.

Délai d'accès :

Le délai d’accès à la formation certifiante est de 7 jours après validation du dossier. Pour un financement CPF, la validation doit être faite 11 jours ouvrés avant le début. Hors CPF, délai de 1 à 3 semaines selon les sessions.

Méthodes mobilisées :

  • Un formateur expert ayant suivi une formation à la pédagogie et ayant au minimum 3 années d'expériences dans le domaine visé
  • Matériel pour les formations présentielles informatiques : un PC par participant
  • Un support et les exercices du cours pour chaque stagiaire
  • Synchrone en présentiel ou distanciel. Plateforme utilisée : Microsoft Teams. Pour le distanciel : diagnostic technique avec les stagiaires pour tester la connexion et les modalités pratiques.
  • Méthodologie basée sur l'Active Learning (75% de pratique minimum) et un programme pédagogique riche et interactif :
  • Expositive : Apport de contenu théorique structuré pour consolider vos connaissances.
  • Interrogative : Moments de réflexion pour questionner et approfondir vos pratiques.
  • Démonstrative : Exercices pratiques pour illustrer les concepts clés.
  • Active : Ateliers d'entraînement pour une mise en application immédiate.
  • Expérimentale : Études de cas concrets pour ancrer les apprentissages dans la réalité.
  • Collaborative : Espaces de partage et d'échange d'expériences pour enrichir la formation.
  • Un format conçu pour favoriser l'engagement, la pratique et l'impact durable dans vos activités professionnelles.

Méthodes d'évaluation :

Les évaluations en cours de formations sont réalisées par les ateliers de mise en pratique et les échanges avec les formateurs.

Un espace apprenant dédié moncompte.dawan.fr :

  • Informations relatives à la ou aux futures formations (plan, syllabus et éventuellement informations relatives à la certification)
  • Positionnement à l'entrée et à la sortie de la formation
  • Définition des besoins et attentes par l'apprenant en amont de la formation
  • Émargement en ligne
  • Évaluation à chaud
  • Évaluation à froid
  • Attestation de formation
  • Boissons offertes pendant les pauses en inter-entreprises
  • Salles lumineuses et locaux facilement accessibles
  • Certification CPF quand formation éligible

Suite de parcours et formations associées

Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.

Aucune date n’est actuellement planifiée pour cette formation. Nous pouvons toutefois organiser cette formation à la demande dans un format adapté à votre besoin, y compris dans votre entreprise.

Contactez-nous pour prévoir une session avec notre formulaire de contact ou par téléphone au 22 519 09 66