DevOps & Automatisation En cours

Pipeline CI/CD automatisé

Pipeline CI/CD automatisé avec conteneurisation et déploiement continu d'une application web d'entreprise

Docker Docker Compose Jenkins GitHub Actions Nginx Linux Debian Python Flask PostgreSQL

Date

Mars 2026

Durée

5 semaines

Équipe

3 personnes

Rôle

Ingénieur DevOps & Intégrateur

📋 Description du projet

Ce projet avait pour but de moderniser le cycle de déploiement d'une application web interne
(gestion de tickets d'incidents) en mettant en place une chaîne CI/CD complète.
L'application Flask/PostgreSQL a été conteneurisée via Docker, orchestrée avec Docker Compose,
puis intégrée dans un pipeline Jenkins automatisant les phases de build, tests unitaires,
analyse de code et déploiement sur serveur de production Nginx.
GitHub Actions a été utilisé pour les vérifications de qualité de code à chaque pull request.
Ce projet s'inscrit dans une logique d'amélioration continue des processus IT en entreprise.

🎯 Objectifs

  • 💡 Conteneuriser une application web Flask avec Docker pour garantir la portabilité
  • 💡 Orchestrer les services (app + base de données) avec Docker Compose
  • 💡 Mettre en place un pipeline CI/CD Jenkins automatisant build, tests et déploiement
  • 💡 Intégrer GitHub Actions pour l'analyse qualité et la validation des pull requests
  • 💡 Configurer un reverse proxy Nginx pour la mise en production
  • 💡 Réduire le temps de déploiement manuel et les risques d'erreur humaine

Défis techniques & Solutions

Cohérence des environnements dev/prod

Utilisation de fichiers .env et de Docker multi-stage builds pour garantir des images identiques entre les environnements

Persistance des données PostgreSQL

Mise en place de volumes Docker nommés et de scripts de backup automatisés via cron

Temps de build trop long

Optimisation du Dockerfile avec cache des layers et parallélisation des étapes Jenkins pour réduire le temps de pipeline de 12 min à 4 min

📊 Résultats & Impact

70%
Réduction du temps de déploiement
4 min
Durée du pipeline CI/CD
0
Erreur de déploiement en production
100%
Tests unitaires automatisés
3 environnements
Dev, Staging, Prod opérationnels