Middle
Kako radi GitLab Runner?
sobes.tech АИ
Одговор од АИ
GitLab Runner je agent koji pokreće CI/CD zadatke. Razmjenjuje podatke s GitLab CI/CD putem API-ja. Kada se dogodi događaj u GitLab-u koji pokreće pipeline (npr. commit), GitLab šalje zahtjev runneru. Runner preuzima zadatak, klonira repozitorij, izvršava naredbe opisane u .gitlab-ci.yml i šalje rezultat natrag u GitLab.
Ključni aspekti rada:
- Tipovi runnera: Shared, Specific, Group. Razlikuju se po opsegu vidljivosti i dostupnosti za projekte.
- Executor (Izvršitelj): Definira okruženje u kojem će se zadaci izvršavati. Popularni izvršitelji:
shell,docker,kubernetes,virtualbox,ssh. Odabir izvršitelja utječe na izolaciju i okruženje izvršavanja. - Registracija: Runner se registrira u GitLab pomoću tokena, povezujući ga s određenom instancom, grupom ili projektom.
- Polling (Upit): Runner povremeno pita GitLab za nove zadatke.
config.toml: Konfiguracijska datoteka koja definira postavke runnera, uključujući tip izvršitelja, broj paralelnih zadataka i druge parametre.
Primjer strukture config.toml:
# globalne postavke
concurrent = 4
# postavke runnera
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # odabir izvršitelja
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # slika pri korištenju docker izvršitelja
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]