Sobes.tech
Middle

GitLab Runner кантип иштейт?

sobes.tech AI

AIден жооп

GitLab Runner — bu 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 úlohu získá, klonuje repozitář, provádí příkazy popsané v .gitlab-ci.yml a výsledek odešle zpět do GitLab.

Klíčové aspekty práce:

  • Typy runnerů: Shared, Specific, Group. Liší se v rozsahu viditelnosti a dostupnosti pro projekty.
  • Executor (Vykonávateľ): Určuje prostředí, ve kterém budou úlohy vykonávány. Populární vykonávatele: shell, docker, kubernetes, virtualbox, ssh. Výběr vykonávateľa ovlivňuje izolaci a prostředí vykonávania.
  • Registrace: Runner se registruje v GitLab pomocí tokenu, čím ho spojí s konkrétní instancí, skupinou nebo projektem.
  • Polling (Dotazovanie): Runner periodicky pýta GitLab na nové úlohy.
  • config.toml: Konfiguračný súbor, ktorý definuje nastavenia runnera, vrátane typu vykonávateľa, počtu paralelných úloh a ďalších parametrov.

Príklad štruktúry config.toml:

# globálne nastavenia
concurrent = 4

# nastavenia runnera
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # výber vykonávateľa
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # obrázok pri použití docker vykonávateľa
    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]