- Add docker volume prune to deploy.sh to prevent stale code issues - Add automatic migrations and cache warmup to staging entrypoint - Fix nginx race condition by waiting for PHP-FPM before starting - Improve PHP healthcheck to use php-fpm-healthcheck - Add curl to production nginx Dockerfile for healthchecks - Add ensureSeedsTable() to SeedRepository for automatic table creation - Update SeedCommand to ensure seeds table exists before operations This prevents 502 Bad Gateway errors during deployment and ensures fresh code is deployed without volume cache issues.
Deployment Scripts
Sammlung von nützlichen Scripts für Deployment und Wartung.
Quick-Start Scripts
staging-quick-start.sh
Interaktives Script für Staging-Deployment-Aufgaben.
Verwendung:
cd ~/deployment
./scripts/staging-quick-start.sh
Funktionen:
- PostgreSQL-Staging Stack starten
- PostgreSQL-Production Stack starten
- Networks prüfen
- Container-Status anzeigen
- Datenbank-Verbindungen testen
- Health-Checks durchführen
- Logs anzeigen
Beispiel:
# Auf Production-Server
cd ~/deployment
./scripts/staging-quick-start.sh
# Wähle Option 3: Beide PostgreSQL-Stacks starten
# Wähle Option 10: Alles verifizieren
production-quick-start.sh
Interaktives Script für Production-Deployment-Aufgaben.
Verwendung:
cd ~/deployment
./scripts/production-quick-start.sh
Funktionen:
- PostgreSQL-Production Stack starten
- Networks prüfen
- Container-Status anzeigen
- Datenbank-Verbindungen testen
- Health-Checks durchführen
- Logs anzeigen
Test-Scripts
test-pipeline-prerequisites.sh
Prüft alle Voraussetzungen für CI/CD Pipeline-Tests.
Verwendung:
cd /home/michael/dev/michaelschiemer
./deployment/scripts/test-pipeline-prerequisites.sh
Prüft:
- Gitea Runner Status
- Workflow-Dateien
- Ansible Playbooks
- Docker Compose Files
- Dockerfile
- SSH Configuration
- Docker Registry Access
- Git Repository Configuration
Ausgabe:
- ✓ Grüne Checks für erfolgreiche Prüfungen
- ✗ Rote Checks für Fehler
- ⚠ Gelbe Warnungen für optionale Probleme
test-backup.sh
Führt ein Test-Backup aus und verifiziert die Ergebnisse.
Verwendung:
cd /home/michael/dev/michaelschiemer
./deployment/scripts/test-backup.sh
Führt aus:
- Backup-Playbook mit Test-Konfiguration
- Backup-Verifikation
- Zeigt Backup-Location und nächste Schritte
Nach dem Test:
# Auf Server verifizieren
ssh deploy@94.16.110.151
ls -lh ~/deployment/backups/backup_*/
cat ~/deployment/backups/backup_*/backup_metadata.txt
Weitere Scripts
Weitere nützliche Scripts können hier hinzugefügt werden:
- Rollback-Scripts
- Monitoring-Scripts
- Cleanup-Scripts
Voraussetzungen
- Docker und Docker Compose installiert
- Bash Shell
- Zugriff auf Production-Server
- Stacks im erwarteten Pfad:
~/deployment/stacks/
Konfiguration
Scripts nutzen folgende Umgebungsvariablen (optional):
STACKS_BASE_PATH: Basis-Pfad für Stacks (Standard:~/deployment/stacks)
Beispiel:
export STACKS_BASE_PATH=/opt/deployment/stacks
./scripts/staging-quick-start.sh