Middle
Jak działa GitLab Runner?
sobes.tech AI
Odpowiedź od AI
GitLab Runner to agent, który uruchamia zadania CI/CD. Wymienia dane z GitLab CI/CD za pomocą API. Gdy w GitLab zdarzy się wydarzenie uruchamiające pipeline (np. commit), GitLab wysyła żądanie do runnera. Runner pobiera zadanie, klonuje repozytorium, wykonuje polecenia opisane w .gitlab-ci.yml i wysyła wynik z powrotem do GitLab.
Kluczowe aspekty działania:
- Typy runnerów: Shared, Specific, Group. Różnią się zakresem widoczności i dostępnością dla projektów.
- Executor (Wykonawca): Określa środowisko, w którym będą wykonywane zadania. Popularne wykonawcy:
shell,docker,kubernetes,virtualbox,ssh. Wybór wykonawcy wpływa na izolację i środowisko wykonania. - Rejestracja: Runner rejestruje się w GitLab za pomocą tokena, łącząc go z konkretną instancją, grupą lub projektem.
- Polling (zapytanie): Runner okresowo pyta GitLab o nowe zadania.
config.toml: Plik konfiguracyjny określający ustawienia runnera, w tym typ wykonawcy, liczbę równoległych zadań i inne parametry.
Przykład struktury config.toml:
# ustawienia globalne
concurrent = 4
# ustawienia runnera
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # wybór wykonawcy
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # obraz przy użyciu wykonawcy 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]