From c858dbcc7adbd8ca928e2e4f7b5393bbda3f0e0a Mon Sep 17 00:00:00 2001 From: oskar Date: Wed, 15 Jul 2026 20:02:21 +0200 Subject: [PATCH] =?UTF-8?q?docs(backlog):=20bug=20deploy-node.sh=20brak=20?= =?UTF-8?q?--build=20=E2=80=94=20deploy=20OK=20ale=20nowy=20kod=20nie=20wc?= =?UTF-8?q?hodzi=20(cicha=20rozbie=C5=BCno=C5=9B=C4=87=20repo=E2=86=94runt?= =?UTF-8?q?ime)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/backlog.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/backlog.md b/docs/backlog.md index b86d9d4..54b60b4 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -713,3 +713,26 @@ liveness). Dotyczy tez przyszlych: nextcloud, gokapi. **Zasada na przyszlosc:** rejestracja w services.yaml/topology to CZESC deployu, nie osobny krok "kiedys" — inaczej kazdy nowy serwis to slepy punkt monitoringu. + +## Bug: deploy-node.sh nie przebudowuje obrazu — deploy "OK" ale nowy kod nie wchodzi (2026-07-15) + +**Objaw.** `deploy-node.sh ` robi `docker compose up -d` BEZ `--build`. Dla +serwisów z Dockerfile (ha-diag-agent, node-agent, llm-gateway, brain-watchdog, itd.), +gdy zmienia się TYLKO kod (nie compose/env), compose widzi "kontener działa, obraz ten +sam" → status `Running` (0.0s), NIE przebudowuje i NIE recreatuje. Nowy kod z repo NIE +wchodzi w życie mimo `git pull` i "Deployment Complete". + +**Skutek — cicha rozbieżność repo↔runtime.** Deploy raportuje sukces, a kontener biega +na starym obrazie. Ugryzło DWA razy: fleet-prometheus (config nie wchodził bez +force-recreate) i ha-diag-agent 2026-07-15 (fix node_name był w repo `f2ba81b`, ale +`Running` zamiast rebuild — trzeba było ręcznego `docker compose up -d --build +--force-recreate`). + +**Root cause.** deploy-node.sh (~linia 110) w pętli deployu: brak `--build` w wywołaniu +compose. Docker cache'uje obraz po tagu, nie po zawartości src/. +compose. Docker cache'uje obraz po tagu, nie po zawartości src/. + +**Fix (do zrobienia).** deploy-node.sh powinien dla serwisów z Dockerfile wywoływać +`docker compose up -d --build` (przebuduje gdy src się zmienił; no-op gdy nie). Ewentualnie +`--force-recreate` gdy zmienił się env-file. Bez tego każdy code-only deploy wymaga +ręcznego rebuild — łatwo przeoczyć (deploy mówi green).