Middle
Cum funcționează GitLab Runner?
sobes.tech AI
Răspuns de la AI
GitLab Runner este un agent care execută sarcini CI/CD. Interacționează cu GitLab CI/CD prin API. Când are loc un eveniment în GitLab care inițiază un pipeline (de exemplu, un commit), GitLab trimite o solicitare către runner. Runner-ul preia sarcina, clonează depozitul, execută comenzile descrise în .gitlab-ci.yml și trimite rezultatul înapoi în GitLab.
Aspecte cheie ale funcționării:
- Tipuri de runners: Shared, Specific, Group. Se diferențiază prin domeniul de vizibilitate și accesibilitate pentru proiecte.
- Executor (Executant): Definește mediul în care vor fi executate sarcinile. Executanți populari:
shell,docker,kubernetes,virtualbox,ssh. Alegerea executantului influențează izolarea și mediul de execuție. - Înregistrare: Runner-ul se înregistrează în GitLab folosind un token, legându-l de o instanță, grup sau proiect specific.
- Polling (Interogare): Runner-ul interoghează periodic GitLab pentru sarcini noi.
config.toml: Fișier de configurare care definește setările runner-ului, inclusiv tipul de executant, numărul de sarcini paralele și alți parametri.
Exemplu de structură config.toml:
# setări globale
concurrent = 4
# setări runner
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # alegerea executantului
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # imagine la utilizarea executantului docker
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]