Managed Services & Apps GitLab Runner
Die besten Tipps, um GitLab Runner in euren Projekten zu nutzen
Einleitung
Der GitLab Runner ist ein wichtiger Bestandteil der GitLab-Plattform für Continuous Integration und Continuous Deployment (CI/CD). Er führt die in den Pipelines definierten Jobs aus und ermöglicht es, Automatisierungsprozesse effizient zu gestalten. Für GitLab-Nutzerinnen und -Nutzer ist es entscheidend zu wissen, wie ein Runner eingerichtet und richtig konfiguriert wird, um die CI/CD-Prozesse optimal nutzen zu können.
In diesem Artikel wird Schritt für Schritt erklärt, wie ein GitLab Runner erstellt und eingerichtet wird, welche Betriebsmodi und Tags verwendet werden sollten und wie er an spezifische Projekte angebunden wird.
Installation und Registrierung des GitLab Runners
GitLab Runner installieren
Bevor der Runner verwendet werden kann, muss er auf einem geeigneten System installiert werden. Der GitLab Runner kann auf einem separaten Server, einer virtuellen Maschine oder direkt in einem Kubernetes-Cluster betrieben werden. Die Installation variiert je nach Betriebssystem:
- Linux: Installation über das offizielle GitLab-Repository.
- Windows: Herunterladen und Installieren der ausführbaren Datei.
- macOS: Installation über Homebrew oder manuell.
Ausführliche Installationsanweisungen sind in der offiziellen GitLab Runner Dokumentation zu finden.
Runner registrieren
Nach der Installation muss der Runner bei der GitLab-Instanz registriert werden. Dabei kann gewählt werden, ob er für ein spezifisches Projekt, eine Gruppe von Projekten oder als Shared Runner für die gesamte GitLab-Instanz verfügbar sein soll.
Schritt 1: Registrierungs-Token abrufen
- Im GitLab-Konto anmelden.
- Zum Projekt oder zur Gruppe navigieren, für die der Runner registriert werden soll.
- Zu "Einstellungen" > "CI/CD" gehen.
- Den Abschnitt "Runner" ausklappen.
- Unter "Spezifische Runner" (für Projekte) oder "Gruppen-Runner" (für Gruppen) den Registrierungs-Token finden.
Dieser Token wird benötigt, um den Runner eindeutig mit dem Projekt oder der Gruppe zu verknüpfen.
Schritt 2: Runner registrieren
Auf dem System, auf dem der GitLab Runner installiert ist, den folgenden Befehl ausführen:
gitlab-runner register
Während des Registrierungsprozesses werden folgende Informationen abgefragt:
- GitLab-URL: Die URL der GitLab-Instanz (z. B. 'https://gitlab.com/' oder die eigene Instanz).
- Registrierungs-Token: Der zuvor abgerufene Token.
- Beschreibung des Runners: Eine aussagekräftige Bezeichnung, z. B. 'Runner für Projekt XYZ'.
- Tags (optional): Schlüsselwörter zur Identifikation des Runners, z. B. 'docker', 'linux'.
- Executor-Typ: Die Umgebung, in der die Jobs ausgeführt werden sollen, z. B. 'shell', 'docker', 'kubernetes'.
Je nach ausgewähltem Executor werden eventuell weitere Details abgefragt, wie zum Beispiel das Standard-Docker-Image.
Nach Abschluss der Registrierung erscheint der Runner in der GitLab-Oberfläche unter "Einstellungen" > "CI/CD" > "Runner" als aktiver Runner. Er ist nun bereit, Jobs auszuführen, die in der '.gitlab-ci.yml'-Datei definiert sind.
Betriebsmodi des GitLab Runners
GitLab Runner bietet verschiedene Betriebsmodi, um unterschiedlichen Anforderungen gerecht zu werden:
- Spezifischer Runner: Exklusiv an ein Projekt gebunden und führt nur dessen Jobs aus. Ideal für Projekte mit besonderen Anforderungen oder sensiblen Daten.
- Gruppen-Runner: Verfügbar für alle Projekte innerhalb einer Gruppe. Nützlich, wenn mehrere Projekte ähnliche Anforderungen haben.
- Shared Runner: Steht allen Projekten innerhalb der GitLab-Instanz zur Verfügung. Gut geeignet für allgemeine Aufgaben und wenn keine eigenen Ressourcen bereitgestellt werden sollen.
Verwendung von Tags
Tags sind ein zentraler Mechanismus in GitLab, um zu steuern, welche Runner welche Jobs ausführen. Sie ermöglichen es, Jobs gezielt an Runner mit bestimmten Eigenschaften zu verteilen.
Funktionsweise von Tags
- Runner-Tags: Beim Registrieren eines Runners können Tags zugewiesen werden, die dessen Fähigkeiten oder Eigenschaften beschreiben, zum Beispiel 'docker', 'windows', 'gpu'.
- Job-Tags: In der `.gitlab-ci.yml'-Datei können Jobs Tags zugewiesen werden, um anzugeben, welche Runner sie ausführen dürfen.
Ein Job wird nur von einem Runner ausgeführt, wenn alle im Job angegebenen Tags mit den Tags des Runners übereinstimmen.
build-job:
script:
- make build
tags:
- docker
In diesem Beispiel wird der Job 'build-job' nur von Runnern ausgeführt, die mit dem Tag 'docker' versehen sind.
Vorteile der Verwendung von Tags
Die Verwendung von Tags bietet mehrere Vorteile. Sie ermöglicht eine gezielte Steuerung, indem sichergestellt wird, dass Jobs auf den geeigneten Umgebungen ausgeführt werden. Durch die effiziente Nutzung von spezialisierten Runnern für spezifische Aufgaben wird eine optimale Ressourcenoptimierung erreicht. Zudem bietet sie Flexibilität, da die Pipeline einfach angepasst werden kann, wenn neue Runner hinzugefügt oder bestehende geändert werden.
Anbindung eines GitLab Runners an Projekte
Die Anbindung eines Runners an ein Projekt erfolgt während des Registrierungsprozesses durch Verwendung des projekt- oder gruppenspezifischen Tokens. Durch die korrekte Verknüpfung wird sichergestellt, dass der Runner nur die gewünschten Jobs ausführt.
Verwaltung und Anpassung
Bei Bedarf können die Einstellungen des Runners angepasst werden:
- Über die GitLab-Oberfläche: Ändern von Einstellungen wie Beschreibung, Tags oder das Pausieren des Runners.
- Direkt auf dem Server: Anpassen der config.toml-Datei für erweiterte Konfigurationen.
Es ist wichtig, die Runner regelmäßig zu überwachen und zu aktualisieren, um einen reibungslosen Betrieb der CI/CD-Pipelines zu gewährleisten.
Fazit
Die Einrichtung und Verwaltung von GitLab Runners ist ein entscheidender Schritt, um CI/CD-Prozesse effizient zu gestalten. Durch die richtige Auswahl des Betriebsmodus, die Nutzung von Tags und die korrekte Anbindung an Projekte können maßgeschneiderte Automatisierungslösungen geschaffen werden.
GitLab bietet dabei eine hohe Flexibilität, um sowohl für kleine als auch für große, komplexe Umgebungen die passenden Runner-Lösungen bereitzustellen. Mit einer durchdachten Konfiguration lassen sich CI/CD-Pipelines optimieren und reibungslose Workflows gewährleisten.
Do you have questions or would you like a personalized offer? We are happy to advise you.
Contact
Our cloud experts are happy to provide personalized advice.
- Our Office
-
Sartoriusstraße 22
20257 Hamburg, Deutschland
Mon - Fri: 09:00 AM - 06:00 PM - Telefon
- +49 40 239 69 754 0
- hello@bnerd.com