Na aplikaci je videt, ktery build to je

Nasazena aplikace o dva commity pozadu funguje a vypada skoro stejne jako
nova. Bez oznaceni buildu se to nepozna a hleda se chyba tam, kde zadna
neni - prave to nas dnes stalo pul hodiny hadani, proc je na produkci
porad stary vzhled.

- oznaceni buildu v pate postranniho menu, pod tlacitkem Odhlasit se:
  verze, cas buildu a cislo commitu. Text jde oznacit jednim kliknutim.
- totez jako <meta name="app-build"> v hlavicce stranky. V JS balicku uz to
  je, ale ten se musi stahnout a rozbalit; meta znacka je videt na jeden
  curl bez prihlaseni, a presne to clovek potrebuje pri zjistovani, co bezi
  na produkci.
- hodnoty dosazuje Vite pri buildu (define a plugin build-stamp), takze
  neplati pro repozitar, ale pro ten konkretni balicek.
- .dockerignore uz nevylucuje .git/. Build z nej cte cislo commitu; bez nej
  by se poznal jen cas buildu, ne co v nem je. Do vysledneho image se .git
  nedostane, ten se sklada z ciste zakladni image a kopiruje se do nej jen
  dist, scripts a migrace.

Ve vyvoji se misto casu pise "vyvoj" - cas buildu by tam byl pokazde jiny
a nikomu by nic nerekl.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-08-26 10:10:34 +02:00
co-authored by Claude Opus 5
parent 73e0ecca4f
commit 33b4a3fdd6
7 changed files with 195 additions and 3 deletions
+35
View File
@@ -104,6 +104,41 @@ Definici sestavuje `src/openapi.ts`.
Pozn.: `/api/dashboard/stream` je Server-Sent Events. Swagger UI streamovanou
odpoved rozumne nezobrazi, testuje se prohlizecem nebo curlem.
## Jak se pozna, ktera verze bezi
Nasazena aplikace, ktera je o dva commity pozadu, funguje a vypada skoro
stejne jako nova. Bez oznaceni buildu se to nepozna a hleda se chyba tam, kde
zadna neni - presne to nas jednou stalo pul hodiny.
Kazdy build proto nese svoje oznaceni. Sklada ho Vite pri buildu
(`vite.config.ts`, sekce `buildInfo`) a je videt na dvou mistech:
| Kde | Jak se k tomu dostat |
| --------------------- | ------------------------------------------- |
| Pata postranniho menu | pod tlacitkem Odhlasit se, staci prihlaseni |
| Hlavicka stranky | `curl` na adresu aplikace, bez prihlaseni |
```bash
curl -s https://services.csbot.cz/apps/csbot-prototype/ | grep app-build
# <meta name="app-build" content="1.0.0 2026-08-26T08:08:23.905Z 73e0ecc">
```
Tri udaje a kazdy rika neco jineho:
| Udaj | K cemu |
| ---------- | ------------------------------------------------------ |
| Verze | z `package.json`, meni se zridka |
| Cas buildu | **hlavni udaj.** Rika, jestli nasazeni vubec probehlo |
| Commit | rika, **co** v tom je. Bez nej se pozna jen kdy, ne co |
Commit se cte z `.git`, takze se `.git/` **zamerne nevylucuje**
v `.dockerignore`. Do vysledneho image se nedostane: ten vznika z ciste
zakladni image a kopiruje se do nej jen `dist`, `scripts` a migrace. Kdyby
`.git` pri buildu chybelo, oznaceni se nerozbije, jen commit zustane prazdny.
Ve vyvoji se misto casu pise "vyvoj". Cas buildu by tam byl pokazde jiny
a nikomu by nic nerekl.
## Overeni po zmene
```bash
+24
View File
@@ -2,6 +2,30 @@
Nejnovejsi nahore.
## 2026-08-26 - na aplikaci je videt, ktery build to je
Nasazena aplikace o dva commity pozadu funguje a vypada skoro stejne jako
nova. Bez oznaceni buildu se to nepozna a hleda se chyba tam, kde zadna neni.
### Pridano
- **Oznaceni buildu v pate postranniho menu**, pod tlacitkem Odhlasit se:
verze, cas buildu a cislo commitu. Text jde oznacit jednim kliknutim, aby
se dal poslat dal.
- **Totez jako `<meta name="app-build">` v hlavicce stranky.** V JS balicku uz
to je, ale ten se musi stahnout a rozbalit. Meta znacka je videt na jeden
`curl` bez prihlaseni - a prave to clovek potrebuje, kdyz zjistuje, co bezi
na produkci.
- Hodnoty dosazuje Vite pri buildu (`define` a plugin `build-stamp`
ve `vite.config.ts`), takze neplati pro repozitar, ale pro ten konkretni
balicek.
### Zmeneno
- **`.dockerignore` uz nevylucuje `.git/`.** Build z nej cte cislo commitu;
bez nej by se poznal jen cas buildu, ne co v nem je. Do vysledneho image se
`.git` nedostane, ten se sklada z ciste zakladni image.
## 2026-08-26 - rebrand na WorkNuke
Prevzeti vizualniho smeru z predlohy. Popis, jak znacka funguje v kodu, je