2.0 KiB
2.0 KiB
Déploiement maîtrisé du frontend (lecoffre-front) – flux ext
Objectif: construire l’image via la CI (tag ext
) avec les variables build-time, exécuter le conteneur avec les variables runtime de lecoffre_node/.env.master
, puis valider l’environnement et CORS/state.
Pré-requis
- Variables
NEXT_PUBLIC_*
et autres correctement définies danslecoffre_node/.env.master
. - CI configurée pour builder
git.4nkweb.com/4nk/lecoffre-front:ext
quand on pousse la branche et le tagext
.
Déclenchement CI (manuel)
- Commit sur la branche
ext
avec le préfixe:ci: docker_tag=ext
. - Push explicite de la branche et du tag:
git push origin refs/heads/ext:refs/heads/ext
git tag -f ext && git push origin refs/tags/ext:refs/tags/ext -f
Script de déploiement et validation
Le script scripts/deploy_front_ext.sh
réalise:
- Pull de l’image et redémarrage du service (optionnel)
- Vérification que les
NEXT_PUBLIC_*
du runtime (/env
) correspondent aux valeurs de.env.master
- Vérification CORS sur dev3 (OPTIONS 204) et POST
/api/v1/idnot/state
(200 +state
)
Usage:
scripts/deploy_front_ext.sh [--ci] [--no-pull] [--no-up] [--validate-only]
--ci
: affiche un rappel pour déclencher la CI (aucun git dans le script)--no-pull
: ne fait pas ledocker compose pull
--no-up
: ne redémarre pas le service--validate-only
: uniquement les validations (pas de pull ni up)
Points de contrôle
docker-compose.yml
utiliseimage: git.4nkweb.com/4nk/lecoffre-front:ext
(pas de build local)- Les
NEXT_PUBLIC_*
sont cohérents entre le build (CI) et le runtime (.env.master
) - CORS dev3 renvoie
Access-Control-Allow-Origin: https://dev4.4nkweb.com
sur OPTIONS et POST - L’endpoint
state
renvoie 200 et un champstate
En cas d’erreur
- Variable manquante/mismatch: corriger
lecoffre_node/.env.master
puis relancer le script - CORS en erreur: vérifier Nginx dev3 (headers, proxy_hide_header, logique d’Origin)