Étude de cas 02 · Déploiement & CI/CD

CI/CD et migrations PostgreSQL sécurisées

Passage d’une mise en production manuelle à un pipeline traçable. Un aperçu du contexte, des choix techniques et des éléments permettant d’apprécier le résultat.

  • GitLab CI
  • Docker
  • PostgreSQL
  • CI/CD
  • Rollback

01 / Le besoin

Contexte et objectif

SITUATION INITIALE

Le problème

La mise en production d’un SaaS B2B reposait sur une succession d’actions manuelles. Chaque livraison mobilisait du temps et exposait l’équipe à des erreurs répétitives.

OBJECTIF DE L’INTERVENTION

Ce qui devait changer

Automatiser les tâches répétables, rendre les déploiements observables et intégrer la gestion des migrations PostgreSQL dans une procédure contrôlée.

PÉRIMÈTRE TECHNIQUE

Nature du travail

Travail technique sur l’automatisation GitLab CI/CD, le déploiement de conteneurs Docker et la sécurisation du déroulement des migrations PostgreSQL.

02 / Architecture

Les composants mis en jeu

Architecture fonctionnelle

Les composants et leurs rôles dans l’architecture.

Commit Git
Pipeline GitLab CI
Image / conteneurs Docker
Migration PostgreSQL
Contrôles & déploiement

03 / Intervention

La démarche technique

Les points essentiels de la mise en œuvre et les arbitrages de fiabilité à examiner.

  1. Cartographier le manuel

    Relever les opérations faites à la main, leurs dépendances, les secrets manipulés et les durées réellement mesurables.

  2. Créer le pipeline

    Décomposer la chaîne en étapes lisibles : préparation, construction, contrôles, migration, déploiement et validation.

  3. Encadrer PostgreSQL

    Prévoir un point de restauration, une vérification des scripts et une procédure distincte en cas de modification non réversible du schéma ou des données.

  4. Mesurer et transmettre

    Comparer des déploiements de complexité comparable et transmettre une procédure de livraison reproductible.

04 / Résultats

Ce qui a changé

Avant

  • DéploiementSuccession d’opérations manuelles
  • TraçabilitéÉtapes difficiles à rejouer de façon identique
  • Base de donnéesManipulations à sécuriser avant chaque livraison

Après

  • DéploiementDéploiement automatisé via pipeline
  • TraçabilitéExécution séquencée et contrôles visibles
  • Base de donnéesMigration intégrée à une procédure vérifiable

05 / Traçabilité

Contrôles techniques

Points de contrôle : configuration, état des services et suivi des opérations.

CONTRÔLE 01

Pipeline versionné

Fichier CI anonymisé et vue des jobs : étapes, dépendances et conditions d’échec.

CONTRÔLE 02

Validation de la base

Journal de migration expurgé et requêtes de contrôle exécutées après migration.

CONTRÔLE 03

Chronométrage avant / après

Horodatages des procédures manuelle et automatisée, sur un périmètre identique.

Terminal · Exemple de contrôles PostgreSQL
psql -v ON_ERROR_STOP=1 -U <user> -d <database> -f migration.sql
# Vérification fonctionnelle et de schéma après exécution
psql -U <user> -d <database> -c "SELECT current_database();"

06 / Pour aller plus loin

Questions techniques à approfondir

  • Quelles étapes étaient réellement manuelles ?
  • Quelles validations bloquent un déploiement défectueux ?
  • Comment les secrets sont-ils gérés ?
  • Quelle procédure couvre les migrations non réversibles ?

Prestation associée

Intervenir sur un besoin similaire

Découvrez le périmètre et les livrables possibles pour cette catégorie de projets.

Consulter l’offre associée ↗

Un besoin similaire ?

Un besoin similaire sur un projet client ?

Je travaille avec votre équipe pour cadrer le chantier, réaliser les changements et transmettre les procédures à vos développeurs.

Automatiser mes déploiements ↗