Sobes.tech
Middle

Ako funguje GitLab Runner?

sobes.tech AI

Odpoveď od AI

GitLab Runner je agent, ktorý spúšťa úlohy CI/CD. Vymieňa údaje s GitLab CI/CD prostredníctvom API. Keď v GitLab dôjde k udalosti, ktorá spustí pipeline (napríklad commit), GitLab odošle požiadavku na runner. Runner úlohu získa, klonuje repozitár, vykoná príkazy opísané v .gitlab-ci.yml a výsledok odošle späť do GitLab.

Kľúčové aspekty fungovania:

  • Typy runnerov: Shared, Specific, Group. Líšia sa v rozsahu viditeľnosti a dostupnosti pre projekty.
  • Executor (Vykonávateľ): Určuje prostredie, v ktorom budú úlohy vykonávané. Populárni vykonávatelia: shell, docker, kubernetes, virtualbox, ssh. Výber vykonávateľa ovplyvňuje izoláciu a prostredie vykonávania.
  • Registrácia: Runner sa registruje v GitLab pomocou tokenu, čím ho spojí s konkrétnou inštanciou, skupinou alebo projektom.
  • 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]