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 registre 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. Retour 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.

Retour automatique

Si un déploiement échoue (l'application ne démarre pas, le health check ne passe pas), Fransys revient automatiquement à 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.