xPulse
🇩🇪 DE

xPulse Chat – Release Day & Staging Switch Protocol

Dieses Dokument beschreibt den vollständigen Ablauf eines Release Days: vom Ende der Test-Period über den Production-Release bis zum Aufsetzen der neuen Staging-Umgebung für den nächsten RC.


Übersicht

Test-Period Ende
RC auf Production mergen & deployen
Staging Teardown (inkl. Log-Löschung) ← Versprechen an Tester
Neuen RC branch vorbereiten
Neues Staging aufsetzen
Neue Feedback Survey rausschicken

1. Test-Period Ende


2. Production Release

2.1 Branch mergen

git checkout main
git merge --no-ff release/vX.Y.Z
git tag vX.Y.Z
git push origin main --tags

2.2 Production deployen

make prod-down
git pull
make prod

2.3 Smoke Test


3. Staging Teardown

Datenschutz-Versprechen: Nach Ende jeder Test-Period werden alle Staging-Container, Volumes und Logs vollständig entfernt. Tester-Aktivität ist danach nicht mehr rekonstruierbar.

3.1 Makefile Target

make stage-teardown

Das Target erledigt automatisch (siehe Makefile):

  1. Container stoppen und entfernen
  2. Docker Volumes entfernen (-v)
  3. Log-Dateien in var/log/stage/ löschen
  4. Docker Images für diesen RC entfernen

3.2 Manuell verifizieren

# Keine Container mehr laufen
docker ps | grep stage
# Log-Verzeichnis leer
ls -la var/log/stage/
# Subdomain nicht mehr erreichbar
curl -I https://rc-X-Y-Z.stage.xpulse.one
# → sollte 404 / Connection refused liefern

4. Neuen RC Branch vorbereiten

git checkout -b release/vA.B.C
# .env.stage anpassen:
# RC_VERSION=rc-A-B-C

5. Neues Staging aufsetzen

make stage

Smoke Test Staging


6. Neue Feedback Survey


Makefile Referenz

Target Beschreibung
make stage Staging starten
make stage-down Staging stoppen
make stage-teardown Vollständiger Teardown inkl. Logs
make stage-update Pull + Neustart
make prod Production deployen
make prod-down Production stoppen

Versions-Historie dieses Protokolls

Datum Release Notizen
v1.2.0 → v1.3.0 Erster dokumentierter Release Day
de/release-protocol.md 2026-04-17