Gérer le pipeline d'une application orientée Cloud

Ce projet avait pour objectif de mettre en place une chaîne d’intégration et de déploiement continu pour le projet développé lors du projet sur Kubernetes. Notre groupe devait configurer l'intégration continue sous GitLab, comprenant des tests unitaires et fonctionnels ainsi que la génération de documentation. On devait également mettre en place la livraison continue avec la création et le scan des images Docker, et enfin, le déploiement continu en utilisant ArgoCD. L'environnement DevOps sera déployé sur un cluster Kubernetes indépendant à l'aide de Terraform.

J'ai appris à...

  • Mettre en place des pipelines CI/CD : Configurer des pipelines d'intégration continue (CI) et de déploiement continu (CD) sous GitLab pour automatiser les tests, la génération de documentation, la création d'images Docker et le déploiement d'applications
  • Utiliser des outils DevOps avancés : Utiliser GitLab Runners pour exécuter les pipelines, scanner les vulnérabilités des images Docker, et ArgoCD pour les déploiements continus
  • Déployer une infrastructure DevOps : Utiliser Terraform pour déployer une infrastructure Kubernetes sur OpenStack, comprenant des composants essentiels comme un registre d’images de conteneurs Harbor et ArgoCD
  • Travailler avec des environnements de production : Gérer un environnement DevOps complet, s’assurer de la sécurité et de la fiabilité des déploiements
  • Mon ressenti

    La réalisation de ce projet à été extrêmement enrichissante et nous a permis de comprendre les pratiques DevOps modernes. L'intégration de divers outils permet de développer une vision holistique du cycle de vie des applications, depuis le développement jusqu'au déploiement. L'utilisation de Terraform pour l'infrastructure, de GitLab CI/CD et ArgoCD nous apprend à automatiser et gérer les infrastructures Cloud. Ce projet à été exigeant mais formateur, offrant une excellente préparation à l'approche DevOps dans un environnement Cloud.