La magie derrière le rideau

Découvrez les coulisses d'un pipeline pensé pour révolutionner vos déploiements.

illustration cicd

Pourquoi ce pipeline ?

Une solution pensée pour en finir avec les galères de déploiement

Déployer du code, c'est souvent la partie la moins fun du développement. Entre les erreurs manuelles, les validations oubliées, et le stress du dernier moment… ça finit souvent en casse-tête.

Ce pipeline change la donne :

  • 🚀 Automatisation totale : Il fait le boulot pendant que vous codez (ou prenez un café).
  • 🔒 Fiabilité : Plus de bugs qui apparaissent après coup, tout est validé en amont.
  • Productivité boostée : Vous gagnez du temps et vos nuits blanches deviennent un lointain souvenir.
illustration cicd

Ce qui se passe en arrière-plan

Un workflow solide qui fait tout le travail pour vous

Derrière sa simplicité d'utilisation, ce pipeline regorge de fonctionnalités robustes :

Intégration Continue (CI) :

  • Chaque commit est scanné par SonarQube, qui traque les bugs, les vulnérabilités, et les mauvaises pratiques.
  • Les fichiers de configuration Symfony sont vérifiés pour éviter les erreurs de compatibilité.

Livraison Continue (CD) :

  • Une image Docker est construite et envoyée sur Docker Hub, prête à être utilisée.

Déploiement Automatique :

  • Le serveur récupère automatiquement l'image Docker, la déploie avec Docker Compose, et nettoie les anciennes versions pour optimiser les ressources.
plan du process
plan du process
  1. Développeur : Écriture et push du code sur la branche dev.
  2. GitHub (main) : Le code validé est fusionné sur la branche principale.
  3. Build Docker : Les tests et l'analyse SonarQube sont effectués, puis une image Docker est générée automatiquement.
  4. Docker Hub : L'image est envoyée et stockée dans Docker Hub.
  5. Connexion VPS : Connexion SSH et lancement du script de déploiement.
  6. VPS : Le serveur récupère la dernière image depuis Docker Hub.
  7. Déploiement : Le conteneur Docker est lancé sur le VPS grâce à Docker Compose.
  8. Réseau Docker : Le réseau Docker est configuré pour rendre l'application accessible.
  9. Clients : Les utilisateurs accèdent à l'application déployée en production.

Du code à la prod, comme un jeu d'enfant

Chaque étape optimisée pour un déploiement sans effort

Voici un aperçu des étapes que suit le pipeline :

  • Push du Code : Vous poussez votre code dans le dépôt Git.
  • Analyse et Validation : Le pipeline exécute des tests, scanne le code, et s'assure que tout est en ordre.
  • Build Docker : Une image propre est générée avec toutes les dépendances nécessaires.
  • Déploiement : Le serveur met tout en production automatiquement, sans intervention.

Chaque étape est optimisée pour minimiser les erreurs et garantir un déploiement rapide. Ci-dessous un aperçu du workflow de github :

codeur illustration

Vue d'ensemble des étapes réalisées dans le workflow de Github Actions

capture ecran github actions

Etape 1 : Phase de tests - Exécution des tests automatisés et analyse de la qualité du code avec SonarQube

capture ecran github actions

Etape 2 : Phase Docker - Création de l'image Docker et envoie vers Docker Hub

capture ecran github actions

Etape 3 : Phase VPS - Connexion au VPS et configuration du réseau docker

capture ecran github actions

Une boîte à outils puissante et moderne

Des technologies fiables pour des résultats impeccables

Ce pipeline s'appuie sur des technologies fiables et largement reconnues :

  • SonarQube : Analyseur de code pour garantir des standards de qualité élevés.
  • Docker & Docker Compose : Conteneurisation pour des déploiements reproductibles et stables.
  • Docker Hub : Stockage des images, accessible depuis n'importe où.
  • GitHub Actions : Automatisation des workflows, pour que tout s'exécute dans l'ordre et sans intervention manuelle.

Ces outils sont là pour assurer une expérience utilisateur sans accroc, même sur des projets complexes.

logos docker sonarqube github

Un projet conçu pour illustrer mon expertise

Un exemple concret de savoir-faire en action

zoom sur pc illustration

Ce pipeline n'a pas pour vocation d'être utilisé ou partagé comme une solution prête à l'emploi. Son véritable objectif ? Montrer comment je résous les défis techniques et illustrer ma maîtrise des outils modernes.

Voici ce que ce projet démontre :

  • Mon approche méthodique : Chaque étape du pipeline a été pensée pour répondre à des problématiques concrètes rencontrées dans des projets réels.
  • Mon expertise DevOps : De l'intégration continue à la livraison, j'ai conçu une solution qui automatise tout en respectant les bonnes pratiques.
  • Ma capacité à expliquer des concepts techniques : Ce projet est là pour rendre clair ce qui est souvent complexe, en le présentant de manière organisée et compréhensible.

En résumé : Ce pipeline n'est pas un produit, mais une démonstration concrète de mes compétences et de ma capacité à concevoir des solutions robustes et pédagogiques.