Sobes.tech
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]