Diapositives
Vidéo de présentation :
Synthèse de l’atelier : Intégration et Déploiement Continus (CI/CD)
L’atelier porte sur la mise en œuvre du CI/CD pour l’orchestration des développements. Les objectifs principaux sont le déploiement d’une infrastructure basée sur Portainer à partir de zéro, le démarrage d’un projet vierge sur cette base, et la construction d’un pipeline d’intégration continue complet.
Voici le chapitrage de l’atelier, avec les minutages estimés basés sur la segmentation de la transcription fournie (où chaque segment correspond approximativement à une minute).
Chapitrage de l’atelier CI/CD Simplicité
00:00:00 – Introduction et Objectifs Objectif de la session : déployer une infrastructure complète depuis zéro (basée sur Portainer) et construire un pipeline d’intégration continue. Il détaille la stack technique : Docker, Portainer, GitLab, Bashly et SonarQube.
00:07:28 – Prérequis et Préparation du Serveur Détail des prérequis : accès au registre d’images Simplicité, dimensionnement du serveur et configuration DNS (domaine wildcard). Préparation de l’OS (Firewall, mise à l’heure, désactivation de SELinux).
00:11:23 – Installation de Docker et Bashly Installation de Docker en ligne de commande et ajout de l’utilisateur au groupe Docker. Présentation de l’outil Bashly et de la librairie simci utilisée pour construire les lignes de commande d’interaction avec l’orchestrateur.
00:14:40 – Installation de Portainer et Traefik Mise en place de l’orchestrateur via un docker-compose . Installation de Portainer couplé à Traefik (reverse proxy) et configuration de Let’s Encrypt pour la gestion automatique des certificats SSL.
00:19:27 – Configuration de Portainer Configuration post-installation : connexion du registre privé Simplicité (pour accéder aux images) et ajout de l’URL des templates de déploiement Simplicité.
00:21:27 – Déploiement manuel d’une instance (Dev) Démonstration de la création d’une première instance de développement via les templates Portainer. Vérification des logs et accès à l’application vierge via l’URL générée.
00:29:46 – Mise en place du CI/CD : Versioning Initialisation du projet sur GitLab. Création du module dans Simplicité, configuration du dépôt distant (Remote), et premier « push » pour synchroniser l’instance de développement avec le dépôt Git.
00:36:00 – Automatisation du Déploiement (Pipeline) Création du pipeline d’automatisation. Utilisation des outils CLI (Simci) pour scripter le déploiement, création du fichier .gitlab-ci.yml , et configuration des variables d’environnement dans GitLab (Token API, URL). Le but est de déployer une instance de test éphémère.
00:57:35 – Intégration des Tests Unitaires Ajout d’une étape de test dans le pipeline. Création d’un objet métier et un test unitaire Java dans Simplicité, puis mise à jour du fichier YAML pour exécuter les tests sur l’instance déployée automatiquement.
01:06:11 – Qualité de Code avec SonarCloud Configuration de l’analyse statique. Création du projet sur SonarCloud, récupération des clés, et modification du module Simplicité (via l’interface) pour mettre à jour le pom.xml . Ajout de l’étape d’analyse (“Sonar”) dans le pipeline GitLab.
01:15:43 – Couverture de Code (JaCoCo) Configuration avancée pour le Code Coverage . Modification des exclusions dans Simplicité, configuration du volume Docker pour extraire le rapport JaCoCo à l’arrêt du conteneur, et transmission de ce rapport à SonarCloud.
01:20:00 – Conclusion et Perspectives Récapitulatif de l’atelier (création d’un projet respectant les bonnes pratiques de A à Z) et appel à suggestions pour les prochains sujets (tests fonctionnels, monitoring, etc.).
01:21:40 – Questions / Réponses Échanges techniques avec les participants :
• Comment gérer un fichier sonar-project.properties personnalisé sans qu’il soit écrasé par Simplicité (astuce du dossier /out ou fichier caché).
• Pourquoi est-il nécessaire de créer les fichiers Java via l’interface Simplicité plutôt qu’en local (gestion des métadonnées pour l’import/export).