Middle
Как работи GitLab Runner?
sobes.tech AI
Отговор от AI
GitLab Runner е агент, който изпълнява задачи за CI/CD. Той обменя данни с GitLab CI/CD чрез API. Когато в GitLab се случи събитие, което стартира пайплайн (например, commit), GitLab изпраща заявка към runner. Runner-ът получава задачата, клонира репозитория, изпълнява командите, описани в .gitlab-ci.yml, и изпраща резултата обратно в GitLab.
Ключови аспекти на работата:
- Типове runners: 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]