
GitHub Actions vai GitLab CI? Minuutit peittävät todellisen laskun

Kun yksityisen arkiston työt ajetaan tavallisilla hallituilla Linux-runnereilla, GitHub Team tulee alla olevissa kolmessa esimerkissä GitLab Premiumia halvemmaksi. Premiumin suurempi minuuttikiintiö ei yksin ratkaise vertailua, koska käyttäjäkohtaiset lisenssit, tallennus ja kiintiön ylittävä ajo muodostavat eri kokoisia laskurivejä.
Nopeudelle ei voi nimetä yleispätevää voittajaa yhden julkaistun testin perusteella. Myös oma runner muuttaa valintaa: palvelun ajomaksu voi poistua, mutta koneen kapasiteetti ja ylläpito jäävät tiimin maksettaviksi. Vertailun lähtökohtana ovat siksi sama työkuorma ja eritelty kuukausikustannus.
Käyttäjäpaikat ja runner-minuutit kasvavat eri tahtiin
GitHubin Team-hinnastossa näkyy 4 dollarin käyttäjäkohtainen kuukausihinta. Käyttäjämäärän kasvu nostaa lisenssikulua, vaikka putkien ajoaika pysyisi ennallaan. Maksuttomallakin organisaatiotilauksella on oma Actions-kiintiönsä, joten maksullisten tilausten vertailu on mielekäs vain, jos tiimi tarvitsee juuri niiden ominaisuuksia.
GitLabin hinnastossa Premium maksaa 29 dollaria käyttäjältä kuukaudessa vuosilaskutuksella ja sisältää 10 000 laskentaminuuttia kuukaudessa. Free sisältää 400 minuuttia; yksityisen ylimmän tason ryhmän käyttäjäraja on viisi. Premiumin 500 GiB:n projektikohtainen tallennusraja koskee Git-arkistoa ja Git LFS:ää, joten sitä ei pidä rinnastaa suoraan GitHubin Actions-artefaktitilaan. GitLab tarjoaa myös lisäminuutteja 10 dollarilla tuhatta minuuttia kohti. Premiumin kuukausiluku on tässä vuosilaskutuksen kuukausittainen vertailuarvo.
GitHub Actionsin laskutusohjeen mukaan Team-organisaatio saa yksityisten arkistojen tavallisille hallituille runnereille 3 000 minuuttia kuukaudessa. Artefaktien ja GitHub Packagesin yhteinen tila on 2 GB, kun taas välimuistilla on erillinen 10 GB:n maksuton raja arkistoa kohti. Kiintiön jälkeinen kahden ytimen Linux-ajo maksaa 0,006 dollaria minuutilta, vastaava Windows-ajo 0,010 dollaria ja macOS-ajo 0,062 dollaria minuutilta. Yhteisen tallennustilan ylitys maksaa 0,25 dollaria ja välimuistin ylitys 0,07 dollaria gigatavulta kuukaudessa. Tallennus kertyy tuntikohtaisesta käytöstä, joten yksittäinen hetkellinen huippu ei vastaa koko kuukauden laskua.
Kolme tiimikokoa samalla laskentamallilla
Seuraavat luvut ovat ehdollisia laskelmia, eivät toteutuneita asiakaslaskuja. Jokaisessa on yksi yksityinen arkisto, GitHub Team tai GitLab Premium ja tavallinen hallittu Linux-runner. Pienen tiimin yhteenlaskettu ajoaika on 1 500, keskisuuren 4 500 ja suuren 9 000 minuuttia kuukaudessa. Minuutit tarkoittavat kaikkien töiden runner-aikojen summaa: rinnakkaiset työt voivat kuluttaa useita minuutteja yhden seinäkellominuutin aikana. GitLabin esimerkki olettaa, että käytetty runner kuluttaa yhden laskentaminuutin kutakin ajominuuttia kohti.
GitHubissa oletetaan, että artefakteja säilyy tasaisesti 5 GB koko kuukauden, GitHub Packages ei vie yhteistä tilaa ja yhden arkiston välimuisti pysyy 8 GB:ssa. Silloin tallennuksen ylitys on 3 GB eli 0,75 dollaria kuukaudessa, eikä välimuistista tule lisämaksua. GitLabille oletetaan, ettei laskelman työkuorma aiheuta erillistä tallennusostoa. Euroopan keskuspankin 1.10.2026 viitekurssissa euro vastasi 1,1298 dollaria; dollarit jaetaan alla tällä luvulla ja lopputulokset pyöristetään sentteihin. Arvonlisävero ja oman infrastruktuurin kulut eivät sisälly palvelusummiin.
- 5 käyttäjää, 1 500 Linux-minuuttia: GitHub Teamissa lisenssit ovat 17,70 €, lisäajo 0 € ja tallennuksen ylitys 0,66 €; yhteensä 18,37 €. GitLab Premiumissa lisenssit ovat 128,34 €, ja oletettu ajo mahtuu kiintiöön; yhteensä 128,34 €.
- 15 käyttäjää, 4 500 Linux-minuuttia: GitHubin lisenssit ovat 53,11 €, kiintiön jälkeinen ajo 7,97 € ja tallennus 0,66 €; yhteensä 61,74 €. GitLab Premiumin lisenssit ja laskelman kokonaissumma ovat 385,02 €.
- 30 käyttäjää, 9 000 Linux-minuuttia: GitHubin lisenssit ovat 106,21 €, lisäajo 31,86 € ja tallennus 0,66 €; yhteensä 138,74 €. GitLab Premiumin lisenssit ja kokonaissumma ovat 770,05 €.
Laskelman voi muuttaa omille luvuille: GitHubin dollarikustannus on käyttäjät × 4 + 3 000 minuutin kiintiön ylittävät Linux-minuutit × 0,006 + yhteisen tallennustilan kuukausikeskiarvon ylittävät gigatavut × 0,25. GitLab Premiumin dollarikustannus on käyttäjät × 29 niin kauan kuin oletetut laskentaminuutit pysyvät kiintiössä eikä tallennuksesta synny lisäostoa. Vasta tämän jälkeen summa muunnetaan euroiksi valitulla kurssilla. Näkyvien senttirivien summa voi erota kokonaissummasta sentillä, koska kokonaisluvut on laskettu pyöristämättömistä dollareista.
Käyttöjärjestelmä ja välimuisti muuttavat laskua
Linux-esimerkkiä ei voi siirtää sellaisenaan Windows- tai macOS-putkeen. Jos GitHub Teamin minuuttikiintiö on jo käytetty, seuraavat 1 500 minuuttia maksavat julkaistuilla runner-hinnoilla Linuxissa 9, Windowsissa 15 ja macOS:ssä 93 dollaria. Kyse ei ole samantehoisten koneiden hintavertailusta: mainitut Linux- ja Windows-rivit koskevat kahden ytimen runnereita, macOS-rivi eri kokoonpanoa. Siksi yhden kuukausittaisen minuuttisumman rinnalle tarvitaan tieto siitä, millä runnereilla työt todella ajetaan.
Välimuisti vaikuttaa kahteen eri asiaan. Riippuvuuksien lataaminen voi nopeutua lämpimällä välimuistilla, mutta maksuttoman tallennusrajan ylittävä välimuisti lisää GitHubin tallennuskulua. Samoin epäonnistunut tai uudelleen käynnistetty työ kuluttaa runner-aikaa, vaikka siitä ei syntyisi käyttökelpoista artefaktia. Kuukauden kustannuksessa on siis mukana muutakin kuin onnistuneiden putkien näkyvä valmistumisaika.
Julkaistu nopeusero koskee yhtä putkea
Semaphoren Redmine-vertailussa GitHub Actionsin kymmenen lämpimällä välimuistilla tehdyn ajon keskiarvo oli 9 minuuttia 44 sekuntia ja GitLab CI:n 11 minuuttia 15 sekuntia. Vertailun julkaisi CI-palveluja myyvä Semaphore. Testissä käytettiin samaa projektia ja yhden työn putkea ilman rinnakkaisuutta; molemmissa Linux-runnereissa oli kaksi vCPU:ta, mutta GitHubin runnerissa 7 GB ja GitLabin runnerissa 8 GB muistia.
Näissä kokoonpanoissa ero oli minuutti ja 31 sekuntia GitHub Actionsin hyväksi. Se kertoo kyseisen Redmine-työn ajosta, ei kaikkien projektien nopeusjärjestyksestä. Riippuvuudet, välimuistin osumat, testien rinnakkaisuus ja runnerin teho voivat muuttaa tulosta. Palvelulaskuun nopeusero vaikuttaa vasta käyttötavan kautta: enemmän runnerissa kulunutta aikaa kasvattaa minuutteja, ja GitHubissa lisäajon veloitus alkaa kiintiön jälkeen.
Oma runner tuo ylläpidon takaisin laskelmaan
GitHub Actions ei veloita oman runnerin ajominuutteja, eikä GitLab.comin oma runner kuluta sen jaettua laskentaminuuttikiintiötä. Tämä siirtää kapasiteetin, päivitykset ja häiriöiden selvityksen tiimin vastuulle. Vertailukelpoinen kuukausikustannus on silloin lisenssi + kone tai pilvikapasiteetti + levy ja verkkoliikenne + ylläpitotunnit × työn sisäinen tuntikustannus. Jos oma runner palvelee muitakin tehtäviä, tähän kuuluu vain CI-käytölle kohdistuva osuus.
Jos ylläpito veisi ehdollisesti kolme tuntia kuukaudessa ja työn sisäinen tuntikustannus olisi 70 €, työosuus olisi 210 € jo ennen konekuluja. Se on laskentaesimerkki, ei kummankaan palvelun ilmoittama maksu. Oman runnerin taloudellinen etu riippuu myös siitä, kuinka tasaisesti kapasiteetti on käytössä: tyhjänä odottava kone maksaa, vaikka putkia ei ajeta. Hallittu runner jättää tämän kapasiteettiriskin pienemmäksi, kun taas oma runner antaa tiimille enemmän vastuuta suoritusympäristöstä ja sen kustannuksista.
Lue myös:
Aiheeseen liittyvät artikkelit


Docker vai Podman? Käynnistysnopeus ei ratkaise, käyttöoikeudet ratkaisevat

Power Automate vai UiPath? Vanha järjestelmä voi ratkaista valinnan

Grafana Cloud vai Datadog? Kardinaliteetti voi kääntää halvan laskun

GitHub Actions ilman AWS-avaimia – OIDC vaatii tarkan trust policyn

Turnstile vai reCAPTCHA? Ilmaisraja muuttaa suuren lomakkeen hinnan
Tilaa uutiskirjeemme
Saat tuoreimmat Web3-, tekoäly- ja kryptouutiset suoraan sähköpostiisi.