Merge pull request 'Fix: rote PO-Fahne fehlt nach Auto-Update - sync-Container neu erzeugen' (#116) from fds2610-bot/monitor:main into main

Reviewed-on: https://codeberg.org/fds2610/monitor/pulls/116
This commit is contained in:
fds2610 2026-10-10 10:52:48 +02:00
commit a89b75277e
3 changed files with 13 additions and 2 deletions

View file

@ -4,6 +4,9 @@ Format in Anlehnung an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## Unreleased
- `update.sh` erzeugt die Container `api` und `sync` bei jedem Update neu. Bisher lief der
`sync`-Prozess nach einem Update mit dem alten Code weiter, schrieb deshalb keinen
Ticket-Ersteller und die rote Fahne am PO (#113) erschien nicht (#115).
- Rote Fahne am PO mit der Anzahl offener Tickets externer User (Ersteller weder `fds2610`
noch `fds2610-bot`); der Codeberg-Sync speichert dafuer den Ersteller jedes Issues/PRs in
der neuen Ticket-Spalte `author` (#113).

View file

@ -11,7 +11,9 @@ aktualisiert.
- **`update.sh`** (Projekt-Wurzel) - holt die neueste Version des konfigurierten Branches per
`git pull --ff-only`, baut die Docker-Images neu, startet `api`, `web` und `sync` neu und
fuehrt (per Default) die Testsuiten aus. Kann jederzeit auch manuell aufgerufen werden, siehe
fuehrt (per Default) die Testsuiten aus. `api` und `sync` werden dabei immer neu erzeugt
(`--force-recreate`), weil sie den Code nur per Volume einbinden und der langlebige
`sync`-Prozess neuen PHP-Code sonst erst nach einem manuellen Neustart sieht (Issue #115). Kann jederzeit auch manuell aufgerufen werden, siehe
Kommentar am Kopf der Datei fuer die Umgebungsvariablen `UPDATE_REMOTE`, `UPDATE_BRANCH`,
`UPDATE_RUN_TESTS`.
Nach dem Neustart meldet das Skript ein Event "Monitor: Update eingespielt (<Commit>)" per

View file

@ -95,7 +95,13 @@ else
fi
log "Starte Dienste neu (api, web, sync)..."
$DOCKER_COMPOSE up -d api web sync
# --force-recreate fuer api und sync: beide mounten ./api nur als Volume, ein reines "up -d"
# laesst die Container daher unveraendert weiterlaufen, sobald Image und Compose-Konfiguration
# gleich bleiben. Der sync-Dienst ist ein einziger langlebiger PHP-Prozess (--watch), der seine
# Klassen einmal geladen hat und neuen Code sonst nie sieht - so schrieb er nach dem Update zu
# Issue #113 weiterhin keinen Ticket-Ersteller und die rote Fahne am PO blieb aus (Issue #115).
$DOCKER_COMPOSE up -d --force-recreate api sync
$DOCKER_COMPOSE up -d web
# Meldet das Update als Event (POST /api/v1/events/system, Admin-Key aus der .env). Die API ist
# direkt nach "up -d" evtl. noch nicht bereit, daher mehrere Versuche; ein Fehlschlag bricht das