Aller au contenu principal

Pipeline CI/CD

Fransys intègre un pipeline CI/CD complet. La configuration initiale (connexion Git, génération du pipeline) est gérée automatiquement lors du setup de vos blocs applicatifs.

→ Pour la mise en place initiale, voir Blocs Application

Cette page détaille le processus de déploiement une fois la CI/CD en place.

Fonctionnement d'un déploiement

Quand vous déclenchez un déploiement (push sur la branche configurée ou déploiement manuel), Fransys exécute les étapes suivantes :

  1. Build — L'image Docker de votre application est construite à partir de votre code source
  2. Push — L'image est poussée vers le registry interne Fransys
  3. Deploy — Le cluster Kubernetes met à jour les pods avec la nouvelle image
  4. Health check — Fransys vérifie que la nouvelle version répond correctement
  5. Rollback automatique — Si le health check échoue, la version précédente est restaurée immédiatement

Vous n'avez aucune de ces étapes à configurer — tout est géré par le pipeline généré automatiquement.

Queue de déploiements

Les déploiements sont mis en queue. Si vous poussez plusieurs commits rapidement ou si plusieurs blocs sont mis à jour en même temps, les déploiements sont empilés et exécutés dans l'ordre.

Ce mécanisme garantit qu'un déploiement est toujours terminé avant que le suivant ne commence — pas de conflits, pas d'états intermédiaires instables.

Rollback automatique

Si un déploiement échoue (l'application ne démarre pas, le health check ne passe pas), Fransys rollback automatiquement vers la dernière version stable. Votre application reste accessible — aucune interruption de service.

Deployment commands

Les blocs applicatifs disposent d'un onglet Deployment commands qui permet de définir des commandes exécutées automatiquement à chaque déploiement. Par exemple :

  • Migrations de base de données (php artisan migrate)
  • Build d'assets (npm run build)
  • Nettoyage de cache (php artisan cache:clear)
  • Seeds ou scripts d'initialisation

Ces commandes sont exécutées après le déploiement de la nouvelle image et avant que le trafic ne soit basculé vers la nouvelle version.