- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren - DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues - .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08) - Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben - docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md - CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht Made-with: Cursor
86 lines
2.0 KiB
Markdown
86 lines
2.0 KiB
Markdown
# Deploy – Commit, Test und Push
|
||
|
||
Führt Tests durch, bumpt die Version, committet und pusht auf develop.
|
||
Gitea startet dann automatisch den Dev-Deploy.
|
||
|
||
## Schritt 1: Syntax prüfen
|
||
```bash
|
||
python3 -m py_compile backend/main.py backend/routers/*.py 2>&1 && echo "Syntax OK"
|
||
```
|
||
|
||
## Schritt 2: Versions-Bump prüfen
|
||
Prüfe ob version.py und version.js aktualisiert wurden:
|
||
```bash
|
||
git diff --name-only | grep -E "version\.(py|js)"
|
||
```
|
||
|
||
Wenn NICHT aktualisiert → Stopp und fragen:
|
||
"Welche Version soll ich setzen? (aktuell: X.Y.Z)"
|
||
Dann version.py und version.js aktualisieren.
|
||
|
||
## Schritt 3: Smoke Tests auf Dev ausführen
|
||
```bash
|
||
npx playwright test 2>&1
|
||
```
|
||
|
||
Wenn Tests fehlschlagen:
|
||
- Screenshot analysieren: `start test-results\...\test-failed-1.png`
|
||
- Fehler korrigieren
|
||
- Tests erneut ausführen
|
||
- Erst wenn alle grün → weiter
|
||
|
||
## Schritt 4: Git Status prüfen
|
||
```bash
|
||
git status
|
||
git diff --stat
|
||
```
|
||
|
||
## Schritt 5: Commit
|
||
```bash
|
||
git add -A
|
||
git commit -m "COMMIT_MESSAGE
|
||
|
||
version: X.Y.Z
|
||
module: MODUL_NAME X.Y.Z"
|
||
```
|
||
|
||
## Schritt 6: Push auf develop
|
||
```bash
|
||
git push origin develop
|
||
```
|
||
|
||
## Schritt 7: Deploy-Status prüfen
|
||
```bash
|
||
# 30 Sekunden warten
|
||
# Dann Dev-System prüfen
|
||
ssh pi "docker logs dev-mitai-api --tail 10"
|
||
curl -sf https://dev.mitai.jinkendo.de/api/version | python3 -c "import sys,json; d=json.load(sys.stdin); print('Version:', d.get('app_version'))"
|
||
```
|
||
|
||
## Schritt 8: Gitea PR Link ausgeben
|
||
```bash
|
||
echo "PR erstellen: http://192.168.2.144:3000/Lars/mitai-jinkendo/compare/main...develop"
|
||
```
|
||
|
||
---
|
||
|
||
## Checkliste vor jedem Commit
|
||
|
||
```
|
||
[ ] backend/version.py aktualisiert (APP_VERSION + MODULE_VERSION)
|
||
[ ] frontend/src/version.js aktualisiert (APP_VERSION + PAGE_VERSION)
|
||
[ ] Changelog-Eintrag in version.py hinzugefügt
|
||
[ ] DB_SCHEMA_VERSION aktualisiert (wenn Schema geändert)
|
||
[ ] Alle Playwright Tests grün
|
||
[ ] Auth auf alle neuen Endpoints
|
||
[ ] api.js für alle neuen Frontend API-Calls
|
||
```
|
||
|
||
---
|
||
|
||
## Prod bleibt unberührt
|
||
|
||
Prod-Änderungen NUR über:
|
||
Gitea PR → Review → Merge → deploy-prod.yml
|
||
NIEMALS direkt auf Prod deployen.
|