# 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.