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