Aller au contenu

Runbook — Déploiement en production

Procédure de déploiement de Primatch sur le serveur de production.

Avant de déployer

  • Tous les tests passent en local (make test-all)
  • La PR a été revue et mergée sur main
  • Prévenir l'équipe du déploiement

Procédure de déploiement

1. Se connecter au serveur

ssh root@217.154.23.27 -i /home/doulla/.ssh/weltaare_deploy
cd /var/www/vhosts/primatch-poc.com/primatch

2. Mettre l'application en mode maintenance

docker compose exec api php artisan down --message="Maintenance en cours, retour dans 5 minutes" --retry=60

3. Récupérer les dernières modifications

git pull origin main

4. Mettre à jour les dépendances

docker compose exec api composer install --no-dev --optimize-autoloader
docker compose exec frontend npm ci --omit=dev

5. Exécuter les migrations

docker compose exec api php artisan migrate --force

6. Vider et reconstruire les caches

docker compose exec api php artisan config:cache
docker compose exec api php artisan route:cache
docker compose exec api php artisan view:cache
docker compose exec api php artisan event:cache

7. Regénérer la documentation API

docker compose exec api php artisan l5-swagger:generate

8. Remettre l'application en ligne

docker compose exec api php artisan up

9. Vérification post-déploiement

# Vérifier que l'API répond
curl https://primatch-poc.com/api/v1/health

# Vérifier les logs
docker compose logs api --tail=50

Rollback

En cas de problème après déploiement :

# Revenir au commit précédent
git checkout HEAD~1

# Répliquer les étapes 4-8 avec l'ancienne version
# Si des migrations ont été jouées et sont incompatibles :
docker compose exec api php artisan migrate:rollback