chore: sync staging workspace
This commit is contained in:
192
deployment/docs/guides/quick-start.md
Normal file
192
deployment/docs/guides/quick-start.md
Normal file
@@ -0,0 +1,192 @@
|
||||
# Quick Start Guide - Deployment & CI/CD
|
||||
|
||||
## 🚀 Schnellstart: Code deployen
|
||||
|
||||
### Einfachste Methode
|
||||
|
||||
```bash
|
||||
# 1. Code ändern
|
||||
# ... Dateien bearbeiten ...
|
||||
|
||||
# 2. Committen
|
||||
git add .
|
||||
git commit -m "feat: Add new feature"
|
||||
|
||||
# 3. Pushen → Automatisches Deployment!
|
||||
git push origin main
|
||||
```
|
||||
|
||||
**Das war's!** Die Pipeline läuft automatisch (~8-15 Minuten).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Status-Übersicht
|
||||
|
||||
### ✅ Vollständig konfiguriert
|
||||
|
||||
- ✅ **CI/CD Pipeline** - Automatisches Deployment bei Push zu `main`
|
||||
- ✅ **Gitea Runner** - Läuft und ist registriert
|
||||
- ✅ **Secrets** - Alle kritischen Secrets konfiguriert
|
||||
- ✅ **Application Stack** - Integration in `setup-infrastructure.yml`
|
||||
- ✅ **Ansible Playbooks** - Deployment & Rollback vorhanden
|
||||
|
||||
### ⚠️ Ausstehend
|
||||
|
||||
- [ ] **Pipeline testen** - End-to-End Test durchführen
|
||||
- [ ] **Backup-Scripts** - Backup-Playbook erstellen
|
||||
- [ ] **Dokumentation vervollständigen** - Finale Updates
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Pipeline-Status prüfen
|
||||
|
||||
### Nach einem Push
|
||||
|
||||
**Gitea Actions UI:**
|
||||
```
|
||||
https://git.michaelschiemer.de/michael/michaelschiemer/actions
|
||||
```
|
||||
|
||||
**Status-Anzeigen:**
|
||||
- 🟢 Grüner Haken = Erfolgreich
|
||||
- 🔴 Roter Haken = Fehlgeschlagen
|
||||
- 🟡 Gelber Kreis = Läuft gerade
|
||||
|
||||
**Logs ansehen:**
|
||||
1. Klicke auf den Workflow-Run
|
||||
2. Klicke auf Job (z.B. "Deploy to Production Server")
|
||||
3. Klicke auf Step (z.B. "Deploy via Ansible")
|
||||
4. Logs ansehen
|
||||
|
||||
### Application-Status prüfen
|
||||
|
||||
```bash
|
||||
# SSH zum Production-Server
|
||||
ssh deploy@94.16.110.151
|
||||
|
||||
# Container-Status
|
||||
cd ~/deployment/stacks/application
|
||||
docker compose ps
|
||||
|
||||
# Logs ansehen
|
||||
docker compose logs app
|
||||
|
||||
# Health-Check
|
||||
curl https://michaelschiemer.de/health
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Vollständige Dokumentation
|
||||
|
||||
### Deployment-Dokumentation
|
||||
|
||||
- **`CODE_CHANGE_WORKFLOW.md`** - Wie Codeänderungen gepusht werden
|
||||
- **`APPLICATION_STACK_DEPLOYMENT.md`** - Detaillierter Deployment-Ablauf
|
||||
- **`CI_CD_STATUS.md`** - CI/CD Pipeline Status & Checkliste
|
||||
- **`DEPLOYMENT-TODO.md`** - Aktuelle TODO-Liste
|
||||
|
||||
### Setup-Dokumentation
|
||||
|
||||
- **`docs/guides/setup-guide.md`** - Kompletter Setup-Guide
|
||||
- **`ansible/README.md`** - Ansible Playbooks Dokumentation
|
||||
- **`stacks/application/README.md`** - Application Stack Details
|
||||
|
||||
### Workflow-Dokumentation
|
||||
|
||||
- **`.gitea/workflows/production-deploy.yml`** - Haupt-Deployment-Pipeline
|
||||
- **`.gitea/workflows/TEST_WORKFLOW.md`** - Workflow-Test-Anleitung
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Nächste Schritte
|
||||
|
||||
### 1. Pipeline testen (Empfohlen)
|
||||
|
||||
**Option A: Test-Commit pushen**
|
||||
```bash
|
||||
# Kleine Änderung
|
||||
echo "# Test" >> README.md
|
||||
git add README.md
|
||||
git commit -m "test: CI/CD pipeline test"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
**Option B: Workflow manuell triggern**
|
||||
```
|
||||
https://git.michaelschiemer.de/michael/michaelschiemer/actions
|
||||
→ "Production Deployment Pipeline"
|
||||
→ "Run workflow"
|
||||
```
|
||||
|
||||
### 2. Backup-Scripts erstellen
|
||||
|
||||
```bash
|
||||
# Backup-Playbook erstellen
|
||||
cd deployment/ansible/playbooks
|
||||
# → Erstelle backup.yml
|
||||
```
|
||||
|
||||
### 3. Dokumentation finalisieren
|
||||
|
||||
- Finale Updates in `DEPLOYMENT-STATUS.md`
|
||||
- README aktualisieren
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Troubleshooting
|
||||
|
||||
### Pipeline schlägt fehl
|
||||
|
||||
**Tests fehlgeschlagen:**
|
||||
```bash
|
||||
# Tests lokal ausführen
|
||||
./vendor/bin/pest
|
||||
composer cs
|
||||
make phpstan
|
||||
```
|
||||
|
||||
**Build fehlgeschlagen:**
|
||||
```bash
|
||||
# Docker Build lokal testen
|
||||
docker build -f Dockerfile.production -t test .
|
||||
```
|
||||
|
||||
**Deployment fehlgeschlagen:**
|
||||
```bash
|
||||
# Logs prüfen
|
||||
ssh deploy@94.16.110.151 "cd ~/deployment/stacks/application && docker compose logs"
|
||||
|
||||
# Manueller Rollback
|
||||
cd deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml playbooks/rollback.yml
|
||||
```
|
||||
|
||||
### Runner-Probleme
|
||||
|
||||
```bash
|
||||
# Runner-Status prüfen
|
||||
cd deployment/gitea-runner
|
||||
docker compose ps
|
||||
docker compose logs gitea-runner
|
||||
|
||||
# Runner neu starten
|
||||
docker compose restart gitea-runner
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
**Dokumentation:**
|
||||
- `deployment/README.md` - Haupt-Dokumentation
|
||||
- `deployment/CI_CD_STATUS.md` - CI/CD Details
|
||||
- `deployment/CODE_CHANGE_WORKFLOW.md` - Workflow-Guide
|
||||
|
||||
**Gitea:**
|
||||
- Actions: `https://git.michaelschiemer.de/michael/michaelschiemer/actions`
|
||||
- Runners: `https://git.michaelschiemer.de/admin/actions/runners`
|
||||
|
||||
---
|
||||
|
||||
**Ready to deploy!** 🚀
|
||||
Reference in New Issue
Block a user