Integracja z GitHub, build i logi

Vercel i GitHub jako jeden organizm

Integracja Vercel for GitHub to klej całego workflow. Po połączeniu konta Vercel obserwuje repozytorium i reaguje na każdy push i PR — bez ręcznego wywoływania deployów. W ProfessNet to ona spina GitHub Actions z deployami frontendu ZEUS.

Co daje integracja

FunkcjaEfekt
Auto-deploy z mainPush = nowy deploy produkcyjny
Preview dla PRKomentarz z linkiem w każdym Pull Requeście
Status checksStatus buildu widoczny w PR obok testów
Commit ↔ deploymentKażdy deploy podlinkowany do konkretnego SHA

Przebieg builda

Build na Vercelu ma stałe etapy. Znajomość ich pomaga zlokalizować błąd:

  1. Cloning — pobranie repozytorium na konkretnym commicie.
  2. Installing dependenciesnpm install (z cache, jeśli package-lock się nie zmienił).
  3. Buildingnext build, w tym kompilacja, typy, generacja stron.
  4. Deploying — publikacja artefaktów na Edge Network.
# Lokalne odtworzenie tego, co robi Vercel
npm ci
npm run build

Czytanie logów

Logi buildu

Projekt → Deployments → wybrany deploy → zakładka Building. Tu znajdziesz dokładną przyczynę nieudanego builda: błąd typów TypeScript, brak zmiennej środowiskowej, błąd importu.

Logi runtime

Dla funkcji serverless/SSR użyj zakładki Logs (lub Runtime Logs). Pokazują żądania, czasy odpowiedzi i błędy z API routes już po wdrożeniu.

# Strumieniowanie logów produkcyjnych z CLI
vercel logs <deployment-url> --follow

Wskazówka: Gdy "u mnie działa, a na Vercelu nie" — najpierw uruchom npm ci (nie npm install) i npm run build lokalnie. npm ci instaluje dokładnie wersje z package-lock.json, tak jak robi to Vercel.

Diagnoza nieudanych deployów

Najczęstsze przyczyny i co sprawdzić:

ObjawPrawdopodobna przyczyna
Type error w buildzieBłąd typów — next build przerywa na nich
Cannot find moduleBrak zależności w package.json
undefined w runtimeBrak zmiennej środowiskowej w danym env
Build OK, strona 500Błąd runtime — sprawdź Runtime Logs
Niezgodna wersjaInny Node lokalnie niż w Project Settings

Rollback i Instant Rollback

Jeśli świeży deploy psuje produkcję, w Deployments wskaż poprzedni, działający deploy i kliknij Promote to Production (Instant Rollback). Powrót jest natychmiastowy, bo poprzedni build wciąż istnieje.

Ignorowanie zbędnych buildów

W monorepo nie każdy commit dotyczy frontendu. Ustawienie Ignored Build Step pozwala pominąć build, gdy zmiany nie ruszyły danego projektu — oszczędza czas i limity.

Podsumowanie

Integracja GitHub↔Vercel automatyzuje deploye i podgląd PR. Gdy coś pada, czytaj logi: Building dla błędów kompilacji, Runtime Logs dla błędów po wdrożeniu. npm ci + npm run build lokalnie odtwarza środowisko Vercela, a Instant Rollback ratuje produkcję jednym kliknięciem.