Sobes.tech
Middle

GitLab Runner necə işləyir?

sobes.tech Süni İntellekt

AI-dan cavab

GitLab Runner — бұл CI/CD тапсырмаларын іске қосатын агент. Ол API арқылы GitLab CI/CD-пен деректер алмасады. GitLab-та оқиға орын алып, пайплайн іске қосылғанда (мысалы, commit), GitLab сұрау жібереді. Runner тапсырманы алады, репозиторийді клондайды, .gitlab-ci.yml файлында сипатталған командаларды орындайды және нәтижесін қайтадан GitLab-қа жібереді.

Жұмыс істеудің негізгі аспектілері:

  • Runner түрлері: Shared, Specific, Group. Олар көріну аймағы мен жобаларға қол жетімділігі бойынша ерекшеленеді.
  • Executor (Орындаушы): Тапсырмалар орындалатын ортаны анықтайды. Танымал орындаушылар: shell, docker, kubernetes, virtualbox, ssh. Орындаушыны таңдау оқшаулау мен орындалу ортасына әсер етеді.
  • Тіркеу: Runner GitLab-қа токен арқылы тіркеледі, оны нақты инстанцияға, топқа немесе жобаға байланыстырады.
  • Polling (Сұрау): Runner периодты түрде GitLab-ты жаңа тапсырмалар үшін сұрайды.
  • config.toml: Конфигурациялық файл, ол runner параметрлерін анықтайды, оның ішінде орындаушы түрі, параллель тапсырмалар саны және басқа параметрлер.

config.toml құрылымының мысалы:

# глобальды параметрлер
concurrent = 4

# runner параметрлері
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # орындаушыны таңдау
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # 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]