CI-runneri
CI-runneri on kone, joka suorittaa CI/CD-putken jobit: se ottaa jobin vastaan CI-palvelulta, ajaa sen vaiheet ja raportoi tulokset takaisin.
Päivitetty viimeksi: 11. marraskuuta 2026
CI-runneri on fyysinen tai virtuaalinen kone, joka suorittaa CI/CD-putken jobit. Se ottaa jobin vastaan CI-palvelulta, hakee koodin, ajaa vaiheet ja raportoi tulokset takaisin. Jenkins ja Azure Pipelines kutsuvat samaa asiaa agentiksi; muut järjestelmät kutsuvat sitä executoriksi.
Näin runneri toimii GitHub Actionsissa
Työnkulun runs-on-labelit ratkaisevat, mikä runneri saa jobin: GitHub etsii verkossa olevan runnerin, joka vastaa jobin labeleita ja ryhmiä, ja jobi, jota mikään runneri ei ota, jää jonoon ja epäonnistuu 24 tunnin kuluttua (GitHubin itse ylläpidettyjen runnereiden viiteopas). Runner-sovellus ottaa yhteyden ulospäin GitHubiin HTTPS:n kautta vastaanottaakseen jobeja, striimaa lokeja takaisin jobin ajon aikana ja tilapäisen runnerin tapauksessa hävitetään jälkeenpäin.
GitHub on ohjaustaso: se säilyttää repositorion, työnkulkutiedostot, salaisuuksien säilön, lokit ja checkit. Runneri tekee työn.
Kolme runnerityyppiä
- CI-toimittajan ylläpitämät. GitHubin ylläpitämät runnerit antavat jokaiselle jobille uuden virtuaalikoneen, ja ne laskutetaan build-minuutteina.
- Itse ylläpidetyt. Omat koneesi, jotka päivität, eristät ja skaalaat itse. Katso hallinnoidut vs. itse ylläpidetyt runnerit.
- Kolmannen osapuolen hallinnoimat runnerit. Palveluntarjoaja ylläpitää koneita, jotka rekisteröityvät GitHubiin itse ylläpidettyinä runnereina. Katso GitHub Actions -runnereiden tarjoajat vertailussa.
Runneri on joko tilapäinen, yksi jobi uudella koneella, tai pysyvä, monta jobia samalla koneella. Tilapäiset runnerit ovat turvallisempia: mikään, mitä yksi jobi jättää jälkeensä, tiedostot tai tunnistetiedot, ei päädy seuraavalle.
Miksi runnerilla on merkitystä tietoturvalle
Runnerilla lähdekoodi, salaisuudet ja ladatut riippuvuudet kohtaavat. Sillä ovat jobin tokenit ja pilvitunnukset, se ajaa jokaisen paketin asennusskriptin ja muodostaa jokaisen verkkoyhteyden, jonka buildi muodostaa. Vaarantunut riippuvuus toimii runnerin oikeuksin.
Siksi runneri on tietoturvaraja. Eristä jobit toisistaan, rajaa egress-käytännöllä, mitä runneri voi tavoittaa, ja tallenna, mitä kukin jobi haki.
CRACI
CRACI on GitHub Actions -runneri. Jobi siirtyy asetuksella runs-on: craci, kun taas työnkulku pysyy GitHubissa, ja ajot näkyvät edelleen siellä. Jokainen jobi ajetaan omassa eristetyssä virtuaalikoneessaan egress-käytännön alaisena, ja se tuottaa SBOM:n siitä, mitä se haki. Katso CRACI:n runnerit ja CRACI vs. GitHubin ylläpitämät runnerit.
CRACI ajaa nyt vain Linux-jobeja GitHub Actionsille. Runnerit GitLab CI:lle, Jenkinsille, Windowsille tai macOS:lle tulevat näiltä toimittajilta tai omasta ylläpidosta.