4NK_env/IA_agents/deploy_front_ext.md
LeCoffre Deployment 8d69c2c700 auto_clea
2025-09-26 12:24:42 +00:00

2.0 KiB
Raw Blame History

Déploiement maîtrisé du frontend (lecoffre-front) flux ext

Objectif: construire limage 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 lenvironnement et CORS/state.

Pré-requis

  • Variables NEXT_PUBLIC_* et autres correctement définies dans lecoffre_node/.env.master.
  • CI configurée pour builder git.4nkweb.com/4nk/lecoffre-front:ext quand on pousse la branche et le tag ext.

Déclenchement CI (manuel)

  1. Commit sur la branche ext avec le préfixe: ci: docker_tag=ext.
  2. 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 limage 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 le docker 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 utilise image: 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
  • Lendpoint state renvoie 200 et un champ state

En cas derreur

  • Variable manquante/mismatch: corriger lecoffre_node/.env.master puis relancer le script
  • CORS en erreur: vérifier Nginx dev3 (headers, proxy_hide_header, logique dOrigin)