Omar Oughriss 6a51281d00
All checks were successful
build-and-push-int-dev / build_push (push) Successful in 10s
Replace 'ext' tag with 'int-dev'
2025-09-22 15:01:49 +02:00

2.7 KiB
Raw Permalink Blame History

Image Docker "int-dev" (Next.js) variables d'environnement et publication

Cette image exécute l'app Next.js en mode production via next start et lit la configuration via les variables d'environnement exposées (préfixe NEXT_PUBLIC_). L'objectif est d'éviter toute dépendance à localhost dans les appels API : les URLs sont construites dynamiquement côté front à partir de ces variables.

Variables d'environnement supportées

  • NEXT_PUBLIC_BACK_API_PROTOCOL: protocole de l'API (ex: https://)
  • NEXT_PUBLIC_BACK_API_HOST: hôte de l'API (ex: api.example.com)
  • NEXT_PUBLIC_BACK_API_PORT: port de l'API (ex: 443)
  • NEXT_PUBLIC_BACK_API_ROOT_URL: racine (ex: / ou /api)
  • NEXT_PUBLIC_BACK_API_VERSION: version (ex: v1)
  • NEXT_PUBLIC_FRONT_APP_HOST: base publique du front (ex: https://app.example.com)
  • NEXT_PUBLIC_FRONT_APP_PORT: port front si nécessaire (ex: 443)
  • NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT
  • NEXT_PUBLIC_IDNOT_CLIENT_ID
  • NEXT_PUBLIC_IDNOT_BASE_URL
  • NEXT_PUBLIC_DOCAPOSTE_API_URL
  • NEXT_PUBLIC_HOTJAR_SITE_ID
  • NEXT_PUBLIC_HOTJAR_VERSION
  • NEXT_PUBLIC_4NK_URL
  • NEXT_PUBLIC_API_URL
  • NEXT_PUBLIC_DEFAULT_VALIDATOR_ID
  • NEXT_PUBLIC_DEFAULT_STORAGE_URLS (liste séparée par des virgules)

Notes:

  • Le front initialise ses variables via next.config.js et _app.tsx, ce qui alimente FrontendVariables. Les appels API utilisent ces valeurs et n'emploient pas localhost.
  • Les valeurs doivent être passées au conteneur au runtime (docker run -e ... ou manifest K8s via env:/secretRef).

Construction de l'image (cible "int-dev")

Prérequis: Docker BuildKit activé et agent SSH opérationnel pour cloner le-coffre-resources depuis git.4nkweb.com.

  1. cd /home/debian/lecoffre-front
  2. export DOCKER_BUILDKIT=1
  3. docker build --target int-dev --ssh default -t lecoffre/front:int-dev -f /home/debian/lecoffre-front/Dockerfile /home/debian/lecoffre-front

Exécution locale (validation)

Exemple minimal (adapter les valeurs):

docker run --rm -p 3000:3000 \
  -e NEXT_PUBLIC_BACK_API_PROTOCOL=https:// \
  -e NEXT_PUBLIC_BACK_API_HOST=api.example.com \
  -e NEXT_PUBLIC_BACK_API_PORT=443 \
  -e NEXT_PUBLIC_BACK_API_ROOT_URL=/ \
  -e NEXT_PUBLIC_BACK_API_VERSION=v1 \
  -e NEXT_PUBLIC_FRONT_APP_HOST=https://app.example.com \
  -e NEXT_PUBLIC_4NK_URL=https://app.example.com \
  lecoffre/front:int-dev

Publication via CI (git.4nkweb.com)

  • Le push d'image est effectué par la CI de git.4nkweb.com suite à un git push.
  • Définir le tag Docker dans le message de commit: ci: docker_tag=int-dev (fallback CI: dev-test).
  • La branche peut être utilisée par la CI comme tag en labsence doverride.