Sobes.tech
Middle

Kaip veikia GitLab Runner?

sobes.tech AI

Atsakymas iš AI

GitLab Runner - tai agentas, kuris vykdo CI/CD užduotis. Jis keičiasi duomenimis su GitLab CI/CD naudodamas API. Kai GitLab įvyksta įvykis, kuris paleidžia pipeline'ą (pavyzdžiui, commit), GitLab siunčia užklausą runner'ui. Runner'is paima užduotį, klonuoja saugyklą, vykdo komandas, aprašytas .gitlab-ci.yml, ir siunčia rezultatą atgal į GitLab.

Pagrindiniai darbo aspektai:

  • Runner'ų tipai: Shared, Specific, Group. Skiriasi matomumo sritis ir prieinamumas projektams.
  • Executor (Vykdytojas): Nustato aplinką, kurioje bus vykdomos užduotys. Populiarūs vykdytojai: shell, docker, kubernetes, virtualbox, ssh. Vykdytojo pasirinkimas veikia izoliaciją ir vykdymo aplinką.
  • Registracija: Runner'is registruojasi GitLab naudojant token'ą, susiejant jį su konkrečiu instancijos, grupės ar projekto.
  • Pollinimas: Runner'is periodiškai tikrina GitLab dėl naujų užduočių.
  • config.toml: Konfigūracijos failas, nustatantis runner'io parametrus, įskaitant vykdytojo tipą, paralelinių užduočių skaičių ir kitus parametrus.

Pavyzdinė config.toml struktūra:

# globaliniai nustatymai
concurrent = 4

# runner'io nustatymai
[[runners]]
  name = "mano-docker-runner"
  url = "https://gitlab.com/"
  token = "JŪSŲ_RUNNER_TOKEN"
  executor = "docker" # vykdytojo pasirinkimas
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # vaizdas naudojant docker vykdytoją
    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]