Sobes.tech
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]