# ✅ 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) 1. **Gehe zu Actions:** ``` https://git.michaelschiemer.de/michael/michaelschiemer/actions ``` 2. **Workflow auswählen:** - Suche nach "Production Deployment Pipeline" - Klicke auf den Workflow 3. **Workflow starten:** - Klicke "Run workflow" (rechts oben) - Branch: `main` - `skip_tests`: deaktiviert (Tests sollen laufen) - Klicke "Run workflow" 4. **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 ```bash # 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: 1. **Tests** (~2-5 Min) - PHP Setup - Composer Dependencies - Tests ausführen 2. **Build** (~3-5 Min) - Multi-Stage Docker Build - Composer Dependencies (Production) - Frontend Build (npm) - Final Production Image 3. **Push** (~1-2 Min) - Docker Login zur Registry - Image Tag generieren - Image zur Registry pushen 4. **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 ```bash # 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.yml` im 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_USER` und `REGISTRY_PASSWORD` Secrets - Teste Registry: `curl -u admin:registry-secure-password-2025 http://127.0.0.1:5000/v2/_catalog` ### Deployment fehlgeschlagen - Prüfe `SSH_PRIVATE_KEY` Secret - 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