Skip to content

Problème de déploiement multi-serveurs #874

@ThibaudDauce

Description

@ThibaudDauce

1️⃣ Problème initial

  • Nuxt multi-serveurs + Docker → Couldn't resolve component "default" et 404 sur _nuxt/* après déploiement.
  • Cause : HTML SSR et assets ne correspondent pas (nouvelle version / anciennes assets supprimées).

2️⃣ Principes clés

  • Build unique → SSR HTML + assets + sourcemaps
  • Assets versionnés par BUILD_ID (/_nuxt/$BUILD_ID/)
  • Ne jamais supprimer immédiatement les anciennes versions (clients existants)
  • Cache : HTML no-cache, assets immutable

3️⃣ Pipeline GitHub Actions recommandé

  1. npm run build.output/
  2. Uploader _nuxt/$BUILD_ID vers CDN / storage externe
  3. Uploader sourcemaps vers Sentry (même BUILD_ID)
  4. Docker build sans rebuild, COPY .output → container autonome

4️⃣ Docker & Infra

  • Container autonome → run local ou isolé
  • Infra / LB → /nuxt/* redirigé vers CDN avec historique
  • Blue/green safe : anciens clients continuent de charger les assets depuis CDN

5️⃣ Build dans Docker vs CI

  • Build CI + copy dans Docker ✅ (recommandé pour sourcemaps + upload CDN)
  • Build dans Docker ❌ compliqué si extraction d’assets pour Sentry/CDN

6️⃣ Résultat

  • Container autonome + SSR + hydratation client OK
  • Blue/green safe pour clients existants
  • Sourcemaps Sentry toujours cohérentes
  • Aucun mismatch HTML ↔ assets

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions