Sobes.tech
Middle

Kuidas töötab GitLab Runner?

sobes.tech AI

Vastus AI-lt

GitLab Runner on agent, joka suorittaa CI/CD-tehtäviä. Se vaihtaa tietoja GitLab CI/CD:n kanssa API:n kautta. Kun GitLabissa tapahtuu tapahtuma, joka käynnistää putken (esim. commit), GitLab lähettää pyynnön runnerille. Runner ottaa tehtävän, kloonaa repositorion, suorittaa .gitlab-ci.yml-tiedostossa kuvatut komennot ja lähettää tuloksen takaisin GitLabiin.

Keskeiset työskentelytavat:

  • Runner-tyypit: Shared, Specific, Group. Eroavat näkyvyysalueen ja projektien saatavuuden mukaan.
  • Executor (Suorittaja): Määrittää ympäristön, jossa tehtävät suoritetaan. Suositut suorittajat: shell, docker, kubernetes, virtualbox, ssh. Suorittajan valinta vaikuttaa eristykseen ja suoritteen ympäristöön.
  • Rekisteröinti: Runner rekisteröityy GitLabiin tokenin avulla, yhdistäen sen tiettyyn instanssiin, ryhmään tai projektiin.
  • Polling: Runner kysyy säännöllisesti GitLabilta uusia tehtäviä.
  • config.toml: Asetustiedosto, joka määrittää runnerin asetukset, mukaan lukien suorittajan tyyppi, rinnakkaisten tehtävien määrä ja muut parametrit.

Esimerkki config.toml-rakenne:

# globaalit asetukset
concurrent = 4

# runnerin asetukset
[[runners]]
  name = "minu-docker-runner"
  url = "https://gitlab.com/"
  token = "SINUN_RUNNER_TOKEN"
  executor = "docker" # suorittajan valinta
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # kuva dockerin käytössä
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]