AI & tools
Integracja z GitHubem
Push wdraża migracje i Edge Functions, pull request tworzy gałąź bazy do podglądu.
This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page
Integracja łączy główny projekt z repozytorium w układzie Supabase CLI:
supabase/
migrations/20261015120000_add_orders.sql
functions/hello/index.ts
functions/_shared/cors.ts # opcjonalnie, dołączany do funkcji, które go importują
config.toml # opcjonalnie: [functions.hello] verify_jwt = false
Podłączenie
- Utwórz fine-grained token (GitHub → Settings → Developer settings) z dostępem tylko do tego repozytorium i uprawnieniami:
Contents: read,Pull requests: write,Commit statuses: write. - W panelu: Integracje → GitHub, podaj repozytorium (
właściciel/nazwa), gałąź produkcyjną (domyślniemain), katalog (supabase) i token. Token jest szyfrowany (AES-256-GCM). - Dodaj w repozytorium webhook: Payload URL
https://host.ulewicz.space/api/integrations/github/webhook/<ref>, Content typeapplication/json, Secret z panelu, zdarzenia Pushes i Pull requests.
Push do gałęzi produkcyjnej
Nowe migracje są stosowane w kolejności wersji — tak jak supabase db push (ta sama tabela supabase_migrations.schema_migrations, więc możesz mieszać CLI i GitHuba). Migracja starsza niż ostatnia zastosowana blokuje wdrożenie (nadaj jej nowszą wersję). Wdrażane są tylko funkcje zmienione w pushu; zmiana _shared/ lub config.toml wdraża wszystkie. Funkcje usunięte z repozytorium nie są kasowane automatycznie. Wynik widać jako status commita HostBase i w panelu (historia wdrożeń z logami, przycisk „Wdróż ponownie”).
Pull requesty (gałęzie podglądowe)
PR do gałęzi produkcyjnej (z tego samego repozytorium — PR z forków są ignorowane) tworzy gałąź bazy pr-<numer> (tryb schema), stosuje na niej migracje z PR i wdraża wszystkie funkcje. Na PR pojawia się status HostBase Preview i komentarz z adresem API gałęzi (bez kluczy). Kolejne commity aktualizują gałąź; jeśli historia migracji się rozjedzie (rebase), gałąź jest odtwarzana z main. Zamknięcie lub merge PR usuwa gałąź. Gałęzie wliczają się do limitu planu (Pro: 3, Team: 20).
Niezawodność
Webhooki są weryfikowane podpisem X-Hub-Signature-256, duplikaty dostaw ignorowane, a zadania zapisywane w bazie panelu i ponawiane przy błędach przejściowych (do 5 prób z rosnącym odstępem). Nowszy push zastępuje oczekujący starszy. Błąd wdrożenia trafia do powiadomień organizacji.
API: GET /api/integrations/github/{ref}/deployments (token dostępu) zwraca historię wdrożeń z logami.