GitHub Actions czy GitLab CI? Darmowe minuty nie pokazują kosztu zespołu

|Autor: Redakcja QUASA|6 min czytania| 1
GitHub Actions czy GitLab CI? Darmowe minuty nie pokazują kosztu zespołu

Przy wyborze platformy głównie do CI/CD warto policzyć koszt stanowisk razem z kosztem wykonania zadań. W przedstawionym niżej modelu dla dziesięcioosobowego zespołu GitHub Actions w planie Team jest tańszy od GitLab CI/CD w planie Premium nawet przy intensywnych buildach. Większa pula minut GitLaba nie rośnie wraz z liczbą wykupionych stanowisk.

GitLab Premium może uzasadniać swoją cenę, jeśli zespół potrzebuje również jego funkcji zarządzania projektem i procesem wydania. Dla zespołu, który porównuje przede wszystkim rachunek za CI, osobnymi pozycjami pozostają rodzaj runnera, własna infrastruktura oraz praca potrzebna do przeniesienia pipeline’u.

Co zużywa pulę minut

Zasady rozliczania GitHub Actions przewidują w prywatnych repozytoriach 2000 minut miesięcznie dla Free i 3000 dla Team na standardowych runnerach hostowanych przez GitHuba. Ponad pulę standardowy Linux z dwoma rdzeniami kosztuje 0,006 USD za minutę, Windows z dwoma rdzeniami 0,010 USD, a macOS 0,062 USD. Minuty przypisuje się właścicielowi repozytorium, więc zadania uruchamiane przez różne osoby obciążają wspólną pulę konta lub organizacji. Używanie własnych runnerów nie zużywa płatnych minut Actions.

Dokumentacja minut obliczeniowych GitLaba określa pulę Free na GitLab.com na 400 minut miesięcznie. Zużycie każdego zadania jest iloczynem czasu jego wykonania i współczynnika runnera: domyślny Linux small ma współczynnik 1, medium 2, a xlarge 6. Współczynnik mówi, jak szybko znika pula, a nie ile dolarów kosztuje minuta. Zużycie zadań równoległych sumuje się, choć sam pipeline może dzięki nim zakończyć się wcześniej.

Scenariusze poniżej zakładają standardowego runnera Linux z dwoma rdzeniami w GitHub Actions oraz domyślnego Linux small w GitLab CI/CD. Ten sam czas zadania służy do porównania rachunków; nie jest obietnicą jednakowej szybkości obu maszyn. Zmiana systemu lub rozmiaru runnera wymaga przeliczenia zarówno czasu wykonania, jak i opłaty albo zużycia puli.

Stanowiska kosztują niezależnie od buildów

Oferta GitHub Team podaje cenę 4 USD za użytkownika miesięcznie i pulę 3000 minut Actions dla planu. Obejmuje też funkcje współpracy, takie jak chronione gałęzie i wymagani recenzenci. Gdy zespół ich nie potrzebuje, GitHub Free pozostaje odrębnym wariantem kosztowym; płatny Team nie jest warunkiem uruchamiania CI.

Cennik GitLaba podaje dla Premium 29 USD za użytkownika miesięcznie przy rozliczeniu rocznym i 10 000 minut obliczeniowych miesięcznie na GitLab.com. Pula dotyczy grupy, a nie każdego stanowiska osobno. W planie Free prywatna grupa najwyższego poziomu ma limit pięciu użytkowników. Dodatkowe minuty kosztują 10 USD za pakiet 1000 minut; pakiet jest osobnym zakupem, a niewykorzystane zakupione minuty mogą przejść na kolejny miesiąc.

Trzy scenariusze w złotych

Do przeliczeń przyjęto tabelę średnich kursów NBP z 9 października 2026 r., w której 1 USD odpowiada 3,9022 zł. To ostatnia tabela dostępna przed publikacją w sobotę. Wyniki pokazują katalogowy koszt stanowisk i hostowanych obliczeń; nie obejmują podatku, przewalutowania, przechowywania artefaktów ani własnej infrastruktury. Wszystkie obciążenia poniżej są umownymi przykładami, a „build” oznacza jedno zadanie runnera.

Małe prywatne repozytorium

Załóżmy trzyosobowy zespół oraz 20 buildów po 8 minut w miesiącu. Łączne zużycie wynosi 160 minut, więc mieści się zarówno w puli GitHub Free, jak i GitLab Free. Koszt stanowisk i hostowanych obliczeń wynosi w obu przypadkach 0 zł. Przy takim obciążeniu wyższy limit GitHuba nie daje oszczędności na rachunku; znaczenie mają potrzebne funkcje i sposób skonfigurowania pracy.

Dziesięć osób i regularne buildy

Przy 20 buildach dziennie przez 20 dni roboczych, po 8 minut każdy, zadania zajmują łącznie 3200 minut miesięcznie. Dziesięć stanowisk GitHub Team kosztuje 40 USD, a 200 minut ponad pulę kosztuje 1,20 USD. Razem to 41,20 USD, czyli 160,77 zł. Dziesięć stanowisk GitLab Premium kosztuje równowartość 290 USD miesięcznie przy rocznym rozliczeniu, czyli 1131,64 zł; całe przyjęte obciążenie mieści się w jego puli. GitLab Free nie obsłuży w tym wariancie dziesięcioosobowej prywatnej grupy.

Jeżeli zespołowi wystarczą uprawnienia i funkcje GitHub Free, warto policzyć także ten wariant. Przy tym samym obciążeniu płatnych byłoby 1200 minut standardowego runnera Linux: 7,20 USD, czyli 28,10 zł, bez opłaty za stanowiska. Taki rachunek nie zastępuje porównania funkcji potrzebnych do współpracy, ale pokazuje, jak mocno wybór planu wpływa na wynik.

Intensywny pipeline

Załóżmy 50 buildów po 8 minut przez 20 dni roboczych. Daje to 8000 minut miesięcznie. W GitHub Team koszt stanowisk wynosi 40 USD, a 5000 dodatkowych minut kosztuje 30 USD: razem 70 USD, czyli 273,15 zł. GitLab Premium nadal mieści całe obciążenie w swojej puli, lecz dziesięć stanowisk kosztuje równowartość 290 USD miesięcznie, czyli 1131,64 zł. W tym modelu różnica w cenie dostępu jest większa niż wartość dodatkowych minut.

Czy wyższa pula może wyrównać cenę Premium?

Przy pełnym wykorzystaniu puli GitLab Premium, czyli 10 000 minut miesięcznie, rachunek za dziesięć stanowisk GitHub Team i standardowy Linux wyniósłby 82 USD: 40 USD za użytkowników oraz 42 USD za 7000 minut ponad pulę. Odpowiednik GitLab Premium kosztowałby 290 USD za stanowiska. Wyższy limit obliczeń zmniejsza więc koszt wykonania zadań w GitLabie, lecz w tym przedziale nie wyrównuje różnicy między licencjami.

Powyżej puli Premium trzeba dokupować minuty GitLaba w pakietach. W pełni wykorzystany pakiet odpowiada 0,010 USD za minutę, podczas gdy przyjęty runner Linux w GitHub Actions kosztuje 0,006 USD za dodatkową minutę. Dla tych założeń wzrost obciążenia nie tworzy progu, po którym same hostowane obliczenia uczynią dziesięć licencji Premium tańszymi. Wynik może się zmienić przy innym rodzaju runnera, liczbie płatnych użytkowników albo wtedy, gdy zespół przypisuje wartość pozostałym funkcjom Premium.

Własny runner zmienia skład kosztu

Na własnym runnerze zespół płaci za maszynę i jej utrzymanie zamiast za hostowany czas wykonania. Dochodzą pojemność potrzebna w godzinach największego ruchu, aktualizacje, monitorowanie i obsługa awarii. Pojedyncza maszyna może wystarczyć do miesięcznej liczby zadań, a zarazem tworzyć kolejkę przed wydaniem; dodatkowe runnery skracają oczekiwanie kosztem większej infrastruktury. W GitLabie zadania na runnerach przypisanych do projektu lub grupy nie korzystają z puli obliczeniowej runnerów instancji.

Równoległość warto oddzielić od liczby minut. Dziesięć jednoczesnych zadań po osiem minut może zamknąć etap po około ośmiu minutach, lecz łącznie wykona 80 minut pracy runnerów. Dlatego czas całego pipeline’u nie wystarcza do wyceny usług hostowanych, a średnie miesięczne zużycie nie mówi jeszcze, ile własnych maszyn potrzeba w szczycie.

Migracja ma koszt jednorazowy

Przeniesienie działającego CI oznacza przełożenie definicji zadań, warunków uruchamiania, zależności, sekretów, cache i wdrożeń na model drugiej platformy. Trzeba też sprawdzić uprawnienia oraz wynikowe artefakty. Nakład zależy od złożoności istniejących workflowów; nie da się go wyprowadzić z cennika minut.

Dla zespołu ze stabilnym pipeline’em decyzja sprowadza się do łącznego kosztu stanowisk, wykonania zadań i utrzymania runnerów oraz do czasu potrzebnego na migrację. W przyjętych scenariuszach sam rachunek za CI przemawia za GitHub Actions. GitLab Premium wymaga uzasadnienia korzyścią z funkcji, których zespół rzeczywiście będzie używał poza dodatkową pulą minut.

Przeczytaj także:

Udostępnij:

Zapisz się do naszego newslettera

Otrzymuj najnowsze wiadomości o Web3, AI i kryptowalutach prosto na swoją skrzynkę.

0