Sobes.tech
Middle

Kā darbojas GitLab Runner?

sobes.tech AI

Atbilde no AI

GitLab Runner ir irgāks, kas izpilda CI/CD uzdevumus. Tas apmainās ar datiem ar GitLab CI/CD, izmantojot API. Kad GitLab notiek notikums, kas uzsāk pipeline (piemēram, commīts), GitLab nosūta pieprasījumu runner'im. Runneris ņem uzdevumu, klonē repozitoriju, izpilda komandas, kas aprakstītas .gitlab-ci.yml, un sūta rezultātu atpakaļ uz GitLab.

Galvenie darba aspekti:

  • Runner tipu: Shared, Specific, Group. Atšķiras pēc redzamības un pieejamības projektiem.
  • Executor (Izpildītājs): Nosaka vidi, kurā tiks izpildītas uzdevumi. Populāri izpildītāji: shell, docker, kubernetes, virtualbox, ssh. Izpildītāja izvēle ietekmē izolāciju un vidi.
  • Reģistrācija: Runner reģistrējas GitLab ar tokenu, sasaistot to ar konkrētu instanci, grupu vai projektu.
  • Polling: Runner periodiski pārbauda GitLab par jauniem uzdevumiem.
  • config.toml: Konfigurācijas fails, kas nosaka runner iestatījumus, ieskaitot izpildītāja tipu, paralēlo uzdevumu skaitu un citus parametrus.

Piemērs config.toml struktūrai:

# globālie iestatījumi
concurrent = 4

# runner iestatījumi
[[runners]]
  name = "mans-docker-runners"
  url = "https://gitlab.com/"
  token = "JŪSU_RUNNER_TOKEN"
  executor = "docker" # izpildītāja izvēle
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # attēls, izmantojot docker izpildītāju
    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]