← Retour
🚀

DeploySystem

Zero-downtime staging → production

Workflow de déploiement

✏️

Modification

Claude Code modifie les fichiers dans /staging/{site}/

🔨

Build & Tests

deploy.sh lance le build + tests automatiques

Validation

Si OK → prêt pour le swap

Symlink Swap

Instantané ! current → nouvelle release

🔍

Vérification

HTTP check automatique post-deploy

Architecture fichiers

/var/www/
├── staging/{site}/              ← Claude Code travaille ICI
├── {site}/current               ← Symlink → releases/{timestamp}/
└── {site}/releases/
    ├── 20260316-153000/         ← Version actuelle (pointée par current)
    └── 20260315-120000/         ← Version précédente (rollback dispo)

Scripts disponibles

setup-site.sh

Initialise la structure staging/releases d'un site

./setup-site.sh allodictee.com
deploy.sh

Build en staging → tests → symlink swap vers prod

./deploy.sh allodictee.com
deploy-batch.sh

Déploie plusieurs sites en parallèle

./deploy-batch.sh site1 site2 site3
rollback.sh

Rollback instantané vers la version précédente

./rollback.sh allodictee.com
status.sh

Dashboard statut de tous les sites

./status.sh --check-http
migrate-existing.sh

Migre un site existant vers le nouveau système

./migrate-existing.sh allodictee.com
setup-preprod.sh

Configure l'environnement de préproduction

./setup-preprod.sh

Avantages

  • • Zero downtime — swap instantané
  • • Rollback en 1 commande
  • • Build isolé en staging
  • • Tests auto avant deploy

Problème résolu

Avant : Claude Code modifiait les fichiers directement en production → le site cassait pendant le build.

Après : Modifications en staging, build isolé, swap atomique.