Zadanie 13: footer commit — informacja o commicie w stopce produkcji
Request użytkownika (1:1)
> Kolejne zadanie: na produkcji powinna być informacja (na dole strony) jaki commit odpowiada stronie. Zaprojektuj i zaimplementuj.
Kontekst
- Repo:
/root/convertere/www_v3(Nuxt 3, produkcja convertere.pl). - Deploy:
deploy.sh(build lokalny → tar.output→ VPS [email protected] → pm2 restart). deploy.shod commitadee1d9arobi auto-commit przed buildem — więc SHA capture'owany tuż przedyarn buildjest dokładnym SHA, który trafia na produkcję.- Stopka:
components/Footer.vue, używana w layoutachmain,landing,docs(layoutformbez stopki).
Projekt rozwiązania
- deploy.sh — tuż PRZED
yarn build:BUILD_COMMIT=$(git rev-parse HEAD)→ eksportNUXT_PUBLIC_BUILD_COMMIT=$BUILD_COMMIT. Też dodać do auto-commit logiki? Nie — auto-commit wykonuje się przed tym punktem, kolejność: auto-commit → git rev-parse → export → build. - nuxt.config.ts —
runtimeConfig.public.buildCommit = process.env.NUXT_PUBLIC_BUILD_COMMIT || 'dev'— wartość wbudowana w bundlę, zerogitna serwerze w runtime. - components/Footer.vue — na samym dole (pod copyrightem), mały subtelny tekst:
Wersja:(7 znaków), link do repo (jeśli publiczne repo — w przeciwnym wypadku zwykły tekst),text-xs text-gray-500, nie przeszkadza w UX.const commit = useRuntimeConfig().public.buildCommit.
Kryteria akceptacji
- [ ] Po deployu na convertere.pl stopka na dole wyświetla SHA commita odpowiadającego wdrożonemu buildowi.
- [ ] SHA zgadza się z
git rev-parse HEADrepo w momencie builda (deploy.sh auto-commit → SHA → build). - [ ] Footer poprawnie renderuje się na wszystkich stronach używających layoutów main/landing/docs.
- [ ] Layout
form(bez footer) bez zmian. - [ ] Build bez regresji: strony HTTP 200, CSS bez degradacji (walidacja w deploy.sh).
- [ ] Wartość pochodzi z runtimeConfig — brak wywołań
gitw runtime na serwerze.
Zakres
deploy.sh(capture SHA + export env przed buildem)nuxt.config.ts(runtimeConfig.public.buildCommit)components/Footer.vue(wyświetlenie wersji)
Źródła
- Pliki: /root/convertere/www_v3 (deploy.sh, nuxt.config.ts, components/Footer.vue), /root/convertere/reports/zadania/13-footer-commit.md
- Linki: https://r.10s.pl/zadania/13/footer-commit/ (ta strona), https://convertere.pl (produkcja)