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]