chore: Update-Skript erkennt Container-Zustand, Merkposten ergaenzt
CI / pruefen (pull_request) Canceled after 0s
CI / pruefen (pull_request) Canceled after 0s
Das Update-Skript prüfte allein http://127.0.0.1:APP_PORT/api/health. Hinter einem Reverse Proxy ist der App-Port oft gar nicht auf dem Host veröffentlicht — dann meldete das Skript nach zwei Minuten einen Fehlschlag, obwohl das Update sauber durchgelaufen war. Schlägt die Abfrage vom Host fehl, zählt jetzt der HEALTHCHECK des Containers. Den bringt das Image schon mit; er fragt /api/health von innen ab und ist damit unabhängig von der Portveröffentlichung. Im Fehlerfall nennt das Skript zusätzlich den Container-Zustand und ordnet ihn ein: kein Container (Start fehlgeschlagen), startet noch (Migrationen dauern), läuft aber ungesund (Fehler in der Anwendung), oder ein älteres Image ohne Healthcheck. Ohne diese Auskunft sah ein nicht veröffentlichter Port genauso aus wie eine abgestürzte Anwendung. container_zustand() gibt bewusst immer 0 zurück — unter set -e dürfte die Diagnose nicht selbst abbrechen, bevor der Weg zurück ausgegeben ist. Dazu drei Merkposten in CLAUDE.md, die diese Sitzung Zeit gekostet haben: Klickwege müssen gegen einen Produktionsbau geprüft werden (im Entwicklungsmodus hydratisiert unter headless Chromium nichts, weil der HMR-Socket scheitert — ohne jede Fehlermeldung), vor npm start den Port prüfen, und dass scripts/shot.mjs sich nicht anmeldet.
This commit is contained in:
@@ -96,6 +96,9 @@ Statistiken, Benachrichtigungen, REST-API, PWA. Oberflächensprache **Deutsch**.
|
||||
- **Dev-Umgebung**: Postgres auf `localhost:5439` (`docker-compose.dev.yml`),
|
||||
Dev-Server auf **Port 3011** (3000 und 3010 sind von anderen Projekten belegt).
|
||||
- **Screenshots**: `node scripts/shot.mjs <url> <ziel.png> [w] [h] [theme]`.
|
||||
Achtung: das Skript meldet sich **nicht** an — bei geschützten Seiten entsteht
|
||||
kommentarlos ein Bild der Anmeldemaske. Für angemeldete Ansichten den
|
||||
Login-Weg aus `scripts/screenshots.mjs` nachbauen.
|
||||
- Next hängt selbst einen Block an diese Datei an — der bleibt drin.
|
||||
|
||||
## Fortschritt
|
||||
@@ -119,6 +122,18 @@ Statistiken, Benachrichtigungen, REST-API, PWA. Oberflächensprache **Deutsch**.
|
||||
das ASCII-Schlusszeichen beendet den String. In JSX-Text und Kommentaren ok.
|
||||
- Heredocs im Bash-Tool sind bei langen TSX-Dateien unzuverlässig — dann das
|
||||
Write-Werkzeug benutzen.
|
||||
- **Klickwege niemals gegen `npm run dev` prüfen.** Unter headless Chromium
|
||||
scheitert der HMR-Socket (`ERR_INVALID_HTTP_RESPONSE`), dadurch hydratisiert
|
||||
**keine** Seite und kein Knopf reagiert — ohne Seitenfehler, ohne
|
||||
fehlgeschlagene Anfrage, es passiert einfach nichts. Sieht aus wie ein Fehler
|
||||
im eigenen Code, ist aber die Umgebung. Stattdessen
|
||||
`npm run build` und `PORT=3012 npm start`, dann dagegen klicken.
|
||||
Formulare täuschen zusätzlich: die Anmeldung funktioniert auch ohne
|
||||
JavaScript, wirkt also intakt.
|
||||
- Vor `npm start` prüfen, ob der Port noch von einem früheren Lauf belegt ist —
|
||||
sonst startet der neue Server gar nicht und man testet den alten Bau.
|
||||
- Testdaten nach Klickproben wieder herstellen: die Proben schreiben in die
|
||||
geseedete Entwicklungsdatenbank.
|
||||
|
||||
<!-- BEGIN:nextjs-agent-rules -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user