Pipeline CI/CD permettant le déploiement d'une application Angular et Spring boot dans un cluster kubernetes avec Gitlab CI via Helm Projet DevOps

Mise en place d’une pipeline CI/CD avec Gitlab CI et Helm

Pour ce projet de mise en place d’une pipeline CI/CD avec GitLab CI, l’objectif était de simplifier et d’automatiser le processus de déploiement d’une application dans un cluster Kubernetes. GitLab CI est un outil open-source qui permet d’automatiser le processus de développement et de livraison en continu (CI/CD).

Dans ce projet, nous avons utilisé GitLab CI pour créer une pipeline CI/CD pour le déploiement de l’application dans un cluster Kubernetes à l’aide d’Helm, qui est un gestionnaire de paquets pour Kubernetes. Helm permet de déployer des applications de manière plus rapide et plus efficace en encapsulant toutes les dépendances de l’application dans un seul package.

Pour la mise en place de la pipeline, nous avons utilisé des scripts YAML pour décrire les différentes étapes du processus de déploiement. Nous avons également utilisé des variables d’environnement pour faciliter la configuration et le paramétrage de la pipeline.

Le processus de déploiement commence par la récupération du code source de l’application depuis un dépôt GitLab. Ensuite, les tests unitaires et d’intégration sont effectués sur l’application pour s’assurer de sa qualité. Si les tests réussissent, l’application est empaquetée avec Helm et déployée dans le cluster Kubernetes. Si une erreur survient lors du processus de déploiement, une notification est envoyée au développeur par e-mail.

En utilisant GitLab CI pour automatiser le processus de déploiement et Helm pour simplifier la gestion des dépendances de l’application, nous avons pu réduire considérablement le temps et les efforts nécessaires pour déployer l’application dans un environnement de production. Cela a permis au client de se concentrer sur le développement de l’application plutôt que sur la gestion de son déploiement et de son infrastructure.

  • Type de projet : Projet DevOps
  • Durée: 5 Jours
  • Tâche: Mise en place de l'architecture et réalisation
  • Technologies: Gitlab CI, Docker, Kubernetes, Helm, Helm Chart, Spring boot, Angular, Kubernetes Agent Server
  • GitHub: ici