[infra] Déploiement continu : relance automatique des applications à chaque merge sur main #95
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
1 participant
Notifications
Due date
Blocks
Reference
g2/enervision#95
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exigence couverte
ENF-09
Épreuve servie
EC03 · CI/CD et qualité
Ce qu'on veut obtenir
Qu'un merge sur
maindéclenche automatiquementansible-playbook site.ymlcontre le serveur de la salle, avecrepo_versionpointé sur le commit fusionné, et relance les piles Compose déclarées dansapp_stackssans intervention manuelle. Le geste actuel (ansible-playbook site.yml --ask-vault-passlancé à la main depuis un poste) doit rester possible en secours, mais ne plus être le chemin normal.Critères d'acceptation
pushversmain(jamais sur les pull requests ni surdevelop) et joueansible-playbook site.ymlavecrepo_versionréglé sur le SHA fusionnéansible-vaultet la clé SSH vers le serveur sont lus depuis les secrets Forgejo — aucun mot de passe ni clé privée en clair dans le dépôt (ENF-12), et le job échoue explicitement si un secret manquemain, les piles deapp_stackssontUpavec l'état attendu sans qu'on se connecte au serveur — vérifié par undocker compose psdistant dans le jobansible-playbookfait échouer le job de façon visible dans Forgejo, jamais silencieusementdocs/runbooks/deploiement.mddécrit le déclenchement automatique et ce qui reste manuel (amorçagebootstrap.yml, restauration)Comment on le vérifie
tests/ci/test-deploiement-continu.sh, joué partests/ci/test-deploiement-continu.sh— vérifie statiquement le workflow (déclencheur limité àpush main, pas de secret en clair,repo_versionnon figé surdevelop). Preuve complémentaire à joindre au ticket : un merge réel surmainavec le job vert et la capture dudocker compose psdu serveur après coup.Manuel d'exploitation à mettre à jour
docs/runbooks/deploiement.md(section « Déployer ») et, si un nouveau job apparaît,docs/runbooks/ci.md.Risque et retour arrière
Un déploiement automatique peut écraser un état modifié à la main sur le serveur, ou s'arrêter à mi-chemin (
docker compose uppartiel sur une pile). Retour arrière : rejouersite.ymlavecrepo_versionfigé sur le commit précédent, ou reprise manuelle par SSH. La clé SSH confiée au runner est un accès de production sensible : à scoper au strict nécessaire (utilisateurdeploy, pas de sudo), jamais loguée.Livré par la PR #96 (mergée dans
develop) : la chaîne relance les applications à chaque merge. On ferme. Le déploiement continu sort de la liste « écarté de la fenêtre » du BACKLOG.