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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions