Zum Inhalt springen

Review Branch Deployments

Jeder Feature-Branch kann eine eigene Preview-Umgebung erzeugen. Das ist kein Nice-to-have — es ist die einzige Möglichkeit, E2E-Tests gegen eine echte gestackte Umgebung zu fahren.

Nx Affected: Nur geänderte SCS werden gebaut.

GitLab CI Manueller Trigger: preview-{scs}-deploy ist ein manueller Job auf Feature-Branches.

Docker Compose Preview: Separate Compose-Datei mit Preview-spezifischen Traefik-Labels.

Auto-Stop: Preview-Umgebungen leben maximal 2 Tage, dann Auto-Stop durch GitLab Environments.

# Production
traefik.http.routers.frontend-architekt.rule=Host(`frontend-architekt.de`)
# Preview
traefik.http.routers.preview-frontend-architekt.rule=Host(`preview.frontend-architekt.de`)

Klare Router-Namen, klare Host-Rules. Kein Wildcard.

Das Deploy-Script validiert, bevor es deployed:

  • Erwartete Traefik-Router sind in der Preview-Compose vorhanden
  • Produktions-Router sind NICHT in der Preview-Compose (Sicherheit)
  • Keine direkten Host-Ports (alles über Traefik)
  • Pflicht-Umgebungsvariablen sind gesetzt
  • Separate Networks: Preview-Compose ist im selben platform-Netzwerk — aber isolierte Dienste (eigene DBs, eigene RabbitMQ-Instanzen für SCS mit Backend)
  • Konfliktfreie Namen: Service-Namen in Preview-Compose nicht mit Production-Namen überschneiden
  • Cleanup: Auto-Stop reicht nicht immer — manuelle docker compose down bei Problemen