Déployer en production (cycle normal)¶
Mettre à jour la production, c'est le même geste que pour le test, mais sur la branche
main. Tout est automatique et sécurisé.
Le geste¶
-
D'abord, assure-toi que ta modification a été testée sur
test-transaction.boaz-study.tech(voir Déploiement Dev / Test). -
Amène ton code validé sur la branche
main:1 2 3
git checkout main git merge dev # ou fusionne via une Pull Request sur GitHub git push origin main -
C'est tout. Le robot déploie la production automatiquement, en faisant dans l'ordre :
- une sauvegarde de la base (au cas où) ;
- la construction de la nouvelle version ;
- le remplacement de l'application (quelques secondes de coupure) ;
- une vérification de santé ; si elle échoue, retour automatique à la version d'avant.
Vérifier que ça a marché (à faire à chaque fois)¶
- GitHub → Actions : le run « Deploy PROD » doit être vert (✓).
- Navigateur :
https://transaction.boaz-study.techs'affiche normalement. - En commande :
→
1curl -I https://api-transaction.boaz-study.tech/healthHTTP/2 200. - Données intactes (facultatif, depuis le serveur) :
→ le nombre ne doit pas avoir baissé.
1docker exec transaction_db psql -U postgres -d transaction_db -c "select count(*) from transactions;"
En cas de problème¶
| Situation | Ce qui se passe / quoi faire |
|---|---|
| Le run « Deploy PROD » est rouge | Le système est revenu tout seul à la version précédente. La prod reste en ligne. Lis l'erreur dans GitHub → Actions, corrige, re-pousse. |
| La page ne répond plus | Regarde les logs : docker logs --tail 50 transaction_backend. En dernier recours, voir Sauvegarde et restauration. |
| Tu as poussé une mauvaise version par erreur | Remets l'ancienne version du code sur main (git revert) et pousse : le bon déploiement repart. |
Bon à savoir¶
- Une sauvegarde automatique est faite avant chaque déploiement prod (en plus de la sauvegarde de chaque nuit).
- Le déploiement ne touche jamais aux données : la base et les fichiers sont conservés.