Some checks failed
Deploy Application / deploy (push) Has been cancelled
3.0 KiB
3.0 KiB
✅ Secrets erfolgreich gesetzt!
Status
✅ Repository erstellt
✅ Secrets konfiguriert:
- REGISTRY_USER
- REGISTRY_PASSWORD
- SSH_PRIVATE_KEY
🚀 Nächster Schritt: CI/CD Workflow testen
Option 1: Workflow manuell triggern (Empfohlen)
-
Gehe zu Actions:
https://git.michaelschiemer.de/michael/michaelschiemer/actions -
Workflow auswählen:
- Suche nach "Production Deployment Pipeline"
- Klicke auf den Workflow
-
Workflow starten:
- Klicke "Run workflow" (rechts oben)
- Branch:
main skip_tests: deaktiviert (Tests sollen laufen)- Klicke "Run workflow"
-
Logs beobachten:
- Prüfe jeden Schritt in den Logs
- Er_warte ~8-15 Minuten für komplette Ausführung
Option 2: Automatisches Deployment via Commit
# Stelle sicher, dass alles committed ist
git add .
git commit -m "chore: CI/CD pipeline setup complete"
# Push zu main - startet automatisch den Workflow
git push origin main
📊 Workflow-Schritte
Der Workflow führt folgende Schritte aus:
-
Tests (~2-5 Min)
- PHP Setup
- Composer Dependencies
- Tests ausführen
-
Build (~3-5 Min)
- Multi-Stage Docker Build
- Composer Dependencies (Production)
- Frontend Build (npm)
- Final Production Image
-
Push (~1-2 Min)
- Docker Login zur Registry
- Image Tag generieren
- Image zur Registry pushen
-
Deploy (~2-4 Min)
- Ansible Playbook ausführen
- Image auf Production pullen
- Application Stack aktualisieren
- Services neu starten
Gesamtzeit: ~8-15 Minuten
✅ Erfolgreiche Ausführung erkennen
Der Workflow ist erfolgreich, wenn:
- ✅ Alle Jobs grün sind
- ✅ Keine Fehler in den Logs
- ✅ "Deploy via Ansible" erfolgreich
- ✅ Application läuft auf Production-Server
🔍 Verifizierung nach Deployment
# Prüfe Application-Status
ssh deploy@94.16.110.151 "cd ~/deployment/stacks/application && docker compose ps"
# Prüfe Logs
ssh deploy@94.16.110.151 "cd ~/deployment/stacks/application && docker compose logs --tail=50"
# Prüfe Health Endpoint
curl -k https://michaelschiemer.de/health
🐛 Troubleshooting
Workflow startet nicht
- Prüfe, ob
.gitea/workflows/production-deploy.ymlim Repository ist - Prüfe Workflow-Syntax
"Secret not found" Fehler
- Prüfe Secrets-Seite:
https://git.michaelschiemer.de/michael/michaelschiemer/settings/secrets/actions - Prüfe, ob Namen exakt übereinstimmen (Groß-/Kleinschreibung!)
Registry Login fehlgeschlagen
- Prüfe
REGISTRY_USERundREGISTRY_PASSWORDSecrets - Teste Registry:
curl -u admin:registry-secure-password-2025 http://127.0.0.1:5000/v2/_catalog
Deployment fehlgeschlagen
- Prüfe
SSH_PRIVATE_KEYSecret - Prüfe Ansible-Verbindung:
ssh deploy@94.16.110.151 "echo OK" - Prüfe Server-Logs
🎉 Nach erfolgreichem Test
Du kannst jetzt:
- ✅ Commits pushen → Automatisches Deployment
- ✅ Workflow manuell triggern für kontrollierte Deployments
- ✅ Branch-Protection aktivieren für sichere Deployments