Sobes.tech
Middle

Jak funguje GitLab Runner?

sobes.tech AI

Odpověď od AI

GitLab Runner je agent, který spouští úlohy CI/CD. Vyměňuje data s GitLab CI/CD prostřednictvím API. Když v GitLab dojde k události, která spustí pipeline (například commit), GitLab odešle požadavek na runner. Runner získá úlohu, klonuje repozitář, provádí příkazy popsané v .gitlab-ci.yml a výsledek odešle zpět do GitLab.

Klíčové aspekty fungování:

  • Typy runnerů: Shared, Specific, Group. Liší se viditelností a dostupností pro projekty.
  • Executor (Vykonavatel): Určuje prostředí, ve kterém budou úlohy prováděny. Oblíbení vykonavatelé: shell, docker, kubernetes, virtualbox, ssh. Výběr vykonavatele ovlivňuje izolaci a prostředí provádění.
  • Registrace: Runner se registruje v GitLab pomocí tokenu, čímž se spojí s konkrétní instancí, skupinou nebo projektem.
  • Polling (Dotazování): Runner periodicky dotazuje GitLab na nové úlohy.
  • config.toml: Konfigurační soubor, který definuje nastavení runneru, včetně typu vykonavatele, počtu paralelních úloh a dalších parametrů.

Příklad struktury config.toml:

# globální nastavení
concurrent = 4

# nastavení runneru
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # výběr vykonavatele
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # obraz při použití docker vykonavatele
    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]