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