Sobes.tech
Middle

Hoe werkt GitLab Runner?

sobes.tech AI

Antwoord van AI

GitLab Runner is een agent die CI/CD-taken uitvoert. Het wisselt gegevens uit met GitLab CI/CD via API. Wanneer er een gebeurtenis plaatsvindt in GitLab die een pipeline start (bijvoorbeeld een commit), stuurt GitLab een verzoek naar de runner. De runner haalt de taak op, kloont de repository, voert de commando's uit die beschreven staan in .gitlab-ci.yml en stuurt het resultaat terug naar GitLab.

Belangrijke aspecten van de werking:

  • Types runners: Shared, Specific, Group. Ze verschillen in zichtbaarheid en toegankelijkheid voor projecten.
  • Executor (Uitvoerder): Bepaalt de omgeving waarin taken worden uitgevoerd. Populaire uitvoerders: shell, docker, kubernetes, virtualbox, ssh. De keuze van de uitvoerder beïnvloedt isolatie en uitvoeringomgeving.
  • Registratie: De runner registreert zich bij GitLab met een token, waarmee hij wordt gekoppeld aan een specifieke instantie, groep of project.
  • Polling (Poll): De runner vraagt periodiek GitLab om nieuwe taken.
  • config.toml: Configuratiebestand dat de instellingen van de runner definieert, inclusief het type uitvoerder, aantal gelijktijdige taken en andere parameters.

Voorbeeld van de structuur van config.toml:

# globale instellingen
concurrent = 4

# instellingen van de runner
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # keuze van de uitvoerder
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # afbeelding bij gebruik van docker-uitvoerder
    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]