Middle
Wie funktioniert GitLab Runner?
sobes.tech KI
Antwort von AI
GitLab Runner ist ein Agent, der CI/CD-Aufgaben ausführt. Er tauscht Daten mit GitLab CI/CD über API aus. Wenn in GitLab ein Ereignis eintritt, das eine Pipeline auslöst (z.B. ein Commit), sendet GitLab eine Anfrage an den Runner. Der Runner holt die Aufgabe ab, klont das Repository, führt die in .gitlab-ci.yml beschriebenen Befehle aus und sendet das Ergebnis zurück an GitLab.
Wichtige Aspekte der Arbeitsweise:
- Arten von Runners: Shared, Specific, Group. Unterscheiden sich durch ihren Geltungsbereich und die Verfügbarkeit für Projekte.
- Executor (Ausführer): Bestimmt die Umgebung, in der die Aufgaben ausgeführt werden. Beliebte Ausführer:
shell,docker,kubernetes,virtualbox,ssh. Die Wahl des Ausführers beeinflusst die Isolierung und die Ausführungsumgebung. - Registrierung: Der Runner registriert sich bei GitLab mit einem Token, das ihn mit einer bestimmten Instanz, Gruppe oder Projekt verbindet.
- Polling (Abfrage): Der Runner fragt periodisch GitLab nach neuen Aufgaben.
config.toml: Konfigurationsdatei, die die Einstellungen des Runners festlegt, einschließlich des Typs des Ausführers, der Anzahl paralleler Aufgaben und anderer Parameter.
Beispiel für die Struktur von config.toml:
# globale Einstellungen
concurrent = 4
# Runner-Einstellungen
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # Wahl des Ausführers
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # Image bei Verwendung des Docker-Ausführers
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]