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.
Das Setup
Abschnitt betitelt „Das Setup“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.
Traefik Labels (Preview vs. Production)
Abschnitt betitelt „Traefik Labels (Preview vs. Production)“# Productiontraefik.http.routers.frontend-architekt.rule=Host(`frontend-architekt.de`)
# Previewtraefik.http.routers.preview-frontend-architekt.rule=Host(`preview.frontend-architekt.de`)Klare Router-Namen, klare Host-Rules. Kein Wildcard.
Validierung im CI
Abschnitt betitelt „Validierung im CI“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
Learnings
Abschnitt betitelt „Learnings“- 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 downbei Problemen