fix(luz): les stacks suivent le tag :main, publié par la CI

La prod servait encore a70e0e4 (25/07) alors que main en etait a 79 commits
plus loin : les stacks luz et dev-luz epinglaient « :develop », un tag que la
CI de l'app ne pousse plus depuis qu'elle ne se declenche que sur main
(images.yml publie sha-<court>, main et latest).

Rien ne le signalait : Watchtower repondait bien 200 a /v1/update, ne trouvait
aucune image plus recente pour « :develop » et ne recreait donc rien. Seule la
verification post-deploiement de la CI a fini par le dire.

Les quatre images (backend + webapp, prod et dev-luz) visent desormais « :main ».
Les en-tetes des deux stacks rappellent que ce tag doit rester celui que publie
images.yml, changer l'un imposant de changer l'autre.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-26 21:59:37 +02:00
parent 9a37ed4b8f
commit 5558c206a0
3 changed files with 26 additions and 13 deletions
+18 -9
View File
@@ -3,15 +3,24 @@
# Frontend : https://luz.goutailler-olivier.com → webapp (nginx :80)
# Backend : https://luz.goutailler-olivier.com/api → backend Spring (:8080)
#
# Images tirées du registre Gitea (git.goutailler-olivier.com/luz/luz-*:develop),
# publiées par la CI (client/app/.gitea/workflows/images.yml) à chaque push « develop »
# (l'app n'a pas de branche « main »). Prod et dev-luz partagent donc la MÊME image ;
# ce qui les sépare : ici la base est PERSISTANTE et sans profil « dev » (voir plus bas),
# côté dev-luz elle est réinitialisée à chaque démarrage. Le redéploiement est
# automatique : les conteneurs portent le label watchtower.enable=true, donc chaque
# push develop fait recréer AUSSI cette prod par Watchtower (../watchtower/), en même
# Images tirées du registre Gitea (git.goutailler-olivier.com/luz/luz-*:main),
# publiées par la CI (client/app/.gitea/workflows/images.yml) à chaque push « main »
# — c'est-à-dire à chaque mise en production. Prod et dev-luz partagent donc la MÊME
# image ; ce qui les sépare : ici la base est PERSISTANTE et sans profil « dev » (voir
# plus bas), côté dev-luz elle est réinitialisée à chaque démarrage. Le redéploiement
# est automatique : les conteneurs portent le label watchtower.enable=true, donc chaque
# push main fait recréer AUSSI cette prod par Watchtower (../watchtower/), en même
# temps que dev-luz. Plus de transfert SSH ni de deploy.sh.
#
# ⚠️ Le tag suivi ici doit rester celui que la CI publie. L'app a d'abord publié
# « :develop » (elle n'avait pas de branche main), puis est passée à « :main ». Ces
# stacks étant restées sur « :develop », plus rien n'a poussé ce tag : Watchtower
# répondait 200 à /v1/update mais ne trouvait aucune image plus récente, et la prod
# est restée figée sur le dernier build develop (a70e0e4, 25/07) pendant que main
# avançait de 79 commits — sans la moindre erreur visible côté CI hors la
# vérification post-déploiement. Changer le tag de publication dans images.yml
# impose donc de changer ce tag ici, dans le même mouvement.
#
# Prérequis : le serveur (root) doit être « docker login git.goutailler-olivier.com »
# une fois, sinon Watchtower ne peut pas tirer les images privées de l'org luz.
#
@@ -43,7 +52,7 @@ services:
- luz-net
backend:
image: git.goutailler-olivier.com/luz/luz-backend:develop
image: git.goutailler-olivier.com/luz/luz-backend:main
container_name: luz-backend
restart: unless-stopped
depends_on:
@@ -70,7 +79,7 @@ services:
- traefik.docker.network=proxy
webapp:
image: git.goutailler-olivier.com/luz/luz-webapp:develop
image: git.goutailler-olivier.com/luz/luz-webapp:main
container_name: luz-webapp
restart: unless-stopped
depends_on: