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
| Funkcja | Efekt |
|---|---|
Auto-deploy z main | Push = nowy deploy produkcyjny |
| Preview dla PR | Komentarz z linkiem w każdym Pull Requeście |
| Status checks | Status buildu widoczny w PR obok testów |
| Commit ↔ deployment | Każdy deploy podlinkowany do konkretnego SHA |
Przebieg builda
Build na Vercelu ma stałe etapy. Znajomość ich pomaga zlokalizować błąd:
- Cloning — pobranie repozytorium na konkretnym commicie.
- Installing dependencies —
npm install(z cache, jeślipackage-locksię nie zmienił). - Building —
next build, w tym kompilacja, typy, generacja stron. - 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(nienpm install) inpm run buildlokalnie.npm ciinstaluje dokładnie wersje zpackage-lock.json, tak jak robi to Vercel.
Diagnoza nieudanych deployów
Najczęstsze przyczyny i co sprawdzić:
| Objaw | Prawdopodobna przyczyna |
|---|---|
Type error w buildzie | Błąd typów — next build przerywa na nich |
Cannot find module | Brak zależności w package.json |
undefined w runtime | Brak zmiennej środowiskowej w danym env |
| Build OK, strona 500 | Błąd runtime — sprawdź Runtime Logs |
| Niezgodna wersja | Inny 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.