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]