Zum Hauptinhalt springen

Detaillierte Anleitung zum Einrichten von gitlab runner

GitLab Runner - dies ist eine offene Software, die zum Ausführen von Aufgaben in GitLab CI/CD verwendet wird.

Es ermöglicht Ihnen, das Erstellen, Testen und Bereitstellen von Anwendungen zu automatisieren und andere Aktionen innerhalb des CI/CD-Prozesses durchzuführen.

In diesem Artikel werden wir uns ausführlich mit der Konfiguration von GitLab Runner auf Ihrem Server für die Verwendung mit GitLab befassen.

Wir gehen davon aus, dass Sie bereits einen GitLab-Server eingerichtet und ausgeführt haben und über Administratorrechte verfügen.

Installieren von GitLab Runner

Die Schritte zur Installation von GitLab Runner werden unten beschrieben:

Schritt 1:Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem Server installiert sind. Wenn keine vorhanden sind, befolgen Sie die Anweisungen zum Installieren von Docker und Docker Compose.
Schritt 2:Öffnen Sie eine Eingabeaufforderung und führen Sie den Befehl aus, um GitLab Runner zu installieren:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
Schritt 3:Führen Sie nach erfolgreicher Installation des Repositorys den Befehl aus:
sudo apt-get install gitlab-runner
Schritt 4:Führen Sie GitLab Runner aus und folgen Sie den Anweisungen, um sich anzumelden:
sudo gitlab-runner register
Schritt 5:Geben Sie die URL Ihres GitLab-Servers und das Registrierungstoken ein. Wählen Sie den Läufer-Typ und alle anderen Einstellungen aus, die Sie anpassen möchten.
Schritt 6:Nachdem die Registrierung abgeschlossen ist, kann GitLab Runner zum Ausführen von CI/CD-Pipelines verwendet werden.

Nachdem Sie GitLab Runner installiert und registriert haben, können Sie Ihre eigenen CI/CD-Pipelines auf Ihrem GitLab-Server einrichten und ausführen. Die Installation kann je nach Bedarf auf einem oder mehreren Servern durchgeführt werden.

GitLab Runner registrieren

Um GitLab Runner zu verwenden, müssen Sie ihn zuerst auf Ihrem Server registrieren. Dies ermöglicht es Ihnen, Anwendungen mit ihm zu erstellen, zu testen und zu implementieren und CI/CD-Prozesse zu automatisieren.

Führen Sie die folgenden Schritte aus, um GitLab Runner zu registrieren:

  1. Installiere GitLab Runner: Downloaden und installieren Sie GitLab Runner gemäß den Anweisungen für Ihr Betriebssystem und Ihre Konfiguration auf Ihrem Server.
  2. Füge Runner zu GitLab hinzu: Gehen Sie zu den Einstellungen Ihres Projekts auf GitLab und wählen Sie den Abschnitt "CI/CD" aus. Klicken Sie im Abschnitt "Runners" auf die Schaltfläche "Runner hinzufügen", um das Anmeldefenster für Runner zu öffnen.
  3. Registrieren Sie einen Runner: Folgen Sie den Anweisungen im Anmeldefenster von Runner. Sie müssen Informationen zu Ihrem Server angeben, z. B. die Serveradresse und das Registrierungstoken. Geben Sie diese Daten in die entsprechenden Felder ein und klicken Sie auf "Register Runner", um die Registrierung abzuschließen.
  4. Überprüfen Sie den Status des Läufers: Nach der Registrierung können Sie den Status Ihres Läufers überprüfen, um sicherzustellen, dass die Registrierung erfolgreich war. Verwenden Sie den Befehl "gitlab-runner verify" auf Ihrem Server.
  5. Richte Runner ein: Nach der Registrierung können Sie Ihren Runner so konfigurieren, dass Erstellungs-, Test- und Bereitstellungsoptionen für Ihre Projekte festgelegt werden. Bearbeiten Sie dazu die Runner-Konfigurationsdatei.

Glückwunsch! Jetzt haben Sie GitLab Runner erfolgreich registriert und konfiguriert. Sie können es jetzt verwenden, um Ihre CI/CD-Prozesse zu automatisieren und Ihre Projekte auf GitLab zu verwalten.

Erstellen einer Konfigurationsdatei

Um gitlab runner einzurichten, müssen Sie eine Config-Datei erstellen.toml . Diese Datei definiert die Parameter, die beim Ausführen von runner auf Ihrem Computer verwendet werden.

Erstellen Sie eine neue Datei mit dem Namen config.toml im Verzeichnis, in dem sich die ausführbare Datei von gitlab runner befindet. Öffnen Sie die Datei in einem Texteditor, und fügen Sie den folgenden Code hinzu:

[[runners]]name = "My Runner"url = "https://gitlab.com/"token = "YOUR_PROJECT_TOKEN"executor = "shell"clone_url = "https://gitlab.com/"

In diesem Beispiel wird die einfachste Konfigurationsdatei verwendet. Hier geben Sie den Namen Ihres runner, die URL Ihres GitLab-Servers, das Zugriffstoken für Ihr Projekt und die Methode zum Ausführen von Aufgaben an (in diesem Fall ist es shell ). Legen Sie clone_url auf den gleichen Wert wie den URL-Wert fest.

Nachdem Sie diese Informationen hinzugefügt haben, speichern und schließen Sie die config-Datei.toml .

Jetzt ist Ihre Konfigurationsdatei einsatzbereit. Sie können alle anderen Parameter angeben, die Ihren Anforderungen und Anforderungen entsprechen.

Einrichten einer GitLab-Verbindung

Bevor Sie mit dem Einrichten von GitLab Runner beginnen, müssen Sie ein access Token erstellen oder abrufen, mit dem sich Runner's mit Ihrem GitLab-Server verbinden kann. Führen Sie dazu die folgenden Schritte aus:

  1. Öffnen Sie den Abschnitt "Einstellungen" Ihres Projekts auf GitLab.
  2. Wählen Sie im Seitenmenü "CI/CD".
  3. Klicken Sie unter "Runner settings" auf die Schaltfläche "Expand" neben "Available specific runners".
  4. Kopieren Sie den Wert in das Feld "Registration token" - dies ist Ihr access token.

Nachdem Sie den access token erhalten haben, können Sie mit der Einrichtung des Runner's beginnen.:

  1. Installieren Sie GitLab Runner gemäß der GitLab-Dokumentation auf Ihrem Server oder Computer.
  2. Führen Sie den Befehl aus, um Runner's zu registrieren:

sudo gitlab-runner register

Jetzt haben Sie einen konfigurierten Runner, der bereit ist, Jobs für Ihr Projekt auf GitLab auszuführen. Denken Sie daran, Runner für Ihr Projekt zu aktivieren.

Erstellen und Bearbeiten einer Datei .gitlab-ci.yml

Um GitLab Runner einzurichten und automatische Builds auszuführen, müssen Sie eine Datei erstellen und bearbeiten .gitlab-ci.yml im Stammordner Ihres Repositorys. In dieser Datei werden die Schritte und Einstellungen zum Ausführen des Builds definiert.

Erstellen Sie eine Datei .gitlab-ci.yml, wenn es noch keine gibt. Dies kann mit einem Texteditor oder einer Befehlszeile erfolgen:

$ touch .gitlab-ci.yml

Öffnen Sie die Datei .gitlab-ci.yml im Editor und fügen Sie die gewünschten Einstellungen hinzu. Hier ist ein Beispiel für eine einfache Datei .gitlab-ci.yml:

stages:- build- test- deploybuild:my-app:stage: buildscript:- echo "Building my app. "test:my-app:stage: testscript:- echo "Running tests for my app. "deploy:my-app:stage: deployscript:- echo "Deploying my app. "

In diesem Beispiel werden drei Schritte definiert: build, test und deploy. Jede Stufe hat ihren eigenen Namen, z. B. build:my-app. Im Abschnitt script werden die Befehle angegeben, die Sie für jeden Schritt ausführen müssen.

Sie können Schritte und Einstellungen je nach Ihren Bedürfnissen hinzufügen oder ändern. Sie können Variablen, bedingte Operatoren, Schleifen und vieles mehr verwenden, um die Assembly komplexer zu verwalten.

Nachdem Sie alle erforderlichen Änderungen vorgenommen haben, speichern Sie die Datei .gitlab-ci.yml und lade es in das GitLab-Repository hoch.

GitLab liest die Datei .gitlab-ci.yml und führen Sie Builds automatisch nach bestimmten Einstellungen und Bedingungen aus.

Jetzt haben Sie grundlegende Kenntnisse darüber, wie Sie eine Datei erstellen und bearbeiten können .gitlab-ci.yml, um GitLab Runner einzurichten. Sie können die Dokumentation weiter untersuchen und mit verschiedenen Anpassungen experimentieren, um den Build- und Bereitstellungsprozess an Ihre Anforderungen anzupassen.

GitLab Runner im Service-Modus ausführen

Wenn Sie GitLab Runner als Service auf Ihrem Computer ausführen möchten, können Sie die folgenden Schritte ausführen:

Schritt 1:Öffnen Sie ein Terminal und führen Sie den Befehl aus:
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
Schritt 2:Führen Sie dann die folgenden Befehle aus:
sudo gitlab-runner start
sudo gitlab-runner status

Nachdem Sie diese Schritte ausgeführt haben, wird GitLab Runner als Service auf Ihrem Computer ausgeführt. Sie können GitLab Runner auch so konfigurieren, dass er beim Systemstart automatisch ausgeführt wird, indem Sie ihn zur Autostart-Liste hinzufügen.

Das ist alles! Jetzt können Sie GitLab Runner verwenden, um Ihre CI/CD-Aufgaben in GitLab auszuführen.

GitLab Runner im Docker Executor-Modus ausführen

GitLab Runner kann im Docker Executor-Modus konfiguriert werden, um CI/CD-Aufgaben auszuführen. In diesem Modus verwendet GitLab Runner Docker, um alle CI/CD-Aufgaben in einem isolierten Container auszuführen.

Befolgen Sie die folgenden Schritte, um GitLab Runner im Docker Executor-Modus auszuführen:

  1. Installieren Sie Docker auf dem Gerät, auf dem Sie GitLab Runner ausführen möchten.
  2. Installieren und konfigurieren Sie GitLab Runner auf Ihrem Gerät.
  3. Öffnen Sie die GitLab Runner-Konfigurationsdatei zum Bearbeiten:
sudo nano /etc/gitlab-runner/config.toml

Fügen Sie der Partition die folgende Konfiguration hinzu [[runners]]:

executor = "docker"
docker_image = "IMAGE_NAME"
cache_dir = "/cache"
extra_hosts = ["HOSTNAME:IP_ADDRESS"]

Geben Sie anstelle von IMAGE_NAME das erforderliche Docker-Abbild an, das zum Ausführen von Aufgaben verwendet werden soll. Eine vollständige Liste der verfügbaren Images finden Sie auf dem Docker Hub.

Ersetzen Sie HOSTNAME und IP_ADDRESS durch die entsprechenden Host- und IP-Adresswerte, die von Ihrer CI/CD-Aufgabe benötigt werden.

Speichern und schließen Sie die Konfigurationsdatei.

GitLab Runner wird jetzt im Docker Executor-Modus ausgeführt, wobei das angegebene Docker-Image zum Ausführen von CI/CD-Aufgaben verwendet wird.

Nachdem Sie Änderungen an der Konfiguration vorgenommen haben, starten Sie GitLab Runner neu, damit die Änderungen wirksam werden:

sudo gitlab-runner restart

Wenn GitLab Runner erfolgreich im Docker Executor-Modus ausgeführt wird, werden CI/CD-Aufgaben in einem isolierten Docker-Container ausgeführt, was die Bereitstellung und das Testen Ihrer Anwendungen erheblich vereinfachen kann.

Erstellen und Konfigurieren von Tags für Aufgaben

Mit Tags können Sie Aufgaben in GitLab Runner kategorisieren und verschiedene Parameter für die Ausführung von Aufgaben festlegen. Das Erstellen und Konfigurieren von Tags ermöglicht eine flexiblere Verwaltung des Startvorgangs und der Ausführung von Aufgaben auf GitLab Runner.

Um ein Tag für eine Aufgabe zu erstellen, müssen Sie es im Block "Tags" in der Datei registrieren.gitlab-ci.yml. Das Tag kann beliebiger Text sein, der mit der Aufgabe verknüpft wird. Zum Beispiel:

job:tags:- mytagscript:- echo "This job runs on a server with the 'mytag' tag"

Sie können zusätzliche Parameter in der Datei festlegen, um das Tag zu konfigurieren.gitlab-ci.yml oder GitLab Runner Einstellungen:

Begrenzung der Anzahl der Aufgaben pro Läufer

Sie können die Anzahl der Aufgaben, die gleichzeitig auf einem einzelnen Läufer ausgeführt werden, begrenzen, indem Sie den Parameter "limit" in der Läufer-Einstellungsdatei festlegen:

concurrent = 1

Konfigurieren der parallelen Ausführung von Aufgaben

Die parallele Ausführung von Aufgaben kann über die Option "parallel" im Block "runners" in der Datei konfiguriert werden.gitlab-ci.yml:

runners:parallel: 4

Auf diese Weise wird GitLab automatisch bis zu 4 Aufgaben gleichzeitig auf ausgewählten Läufern ausführen.

Verwenden von Tags für Aufgaben

Mit Tags können Sie bestimmte Läufer auswählen, um Aufgaben auszuführen. Wenn Sie beispielsweise Läufer mit unterschiedlichen Eigenschaften und Konfigurationen haben und Aufgaben nur für bestimmte Läufer ausführen möchten, können Sie Tags verwenden.

job1:tags:- mytagscript:- echo "This job runs on a server with the 'mytag' tag"job2:tags:- mytagscript:- echo "This job also runs on a server with the 'mytag' tag"job3:tags:- another-tagscript:- echo "This job runs on a server with the 'another-tag' tag"

In diesem Beispiel werden "job1" und "job2" auf Läufern mit dem Tag "mytag" ausgeführt, während "job3" auf Läufern mit dem Tag "another-tag" ausgeführt wird.

Tags können auch zum Festlegen zusätzlicher Umgebungsvariablen verwendet werden:

job:tags:- mytagvariables:ENV_VARIABLE: "value"script:- echo "This job runs on a server with the 'mytag' tag"- echo "The value of ENV_VARIABLE is $ENV_VARIABLE"

In diesem Beispiel wird die Umgebungsvariable "ENV_VARIABLE" mit dem Wert "value" festgelegt, die während der Ausführung der Aufgabe verfügbar ist.

Das Erstellen und Konfigurieren von Tags für Aufgaben ermöglicht Ihnen daher, den Prozess der Ausführung von Aufgaben auf GitLab Runner flexibel zu verwalten und die Ressourcen Ihrer Infrastruktur zu optimieren.

Konfigurieren der Zwischenspeicherung zur Beschleunigung des Builds

Um das Caching für Ihren Gitlab Runner einzurichten, müssen Sie eine Datei erstellen und konfigurieren .gitlab-ci.yml in Ihrem Repository. In dieser Datei können Sie angeben, welche Daten zwischengespeichert werden sollen und wo sie gespeichert werden sollen.

Hier ist eine Beispielkonfiguration zum Konfigurieren des npm-Abhängigkeitscaches:

cache:paths:- node_modules/

Diese Konfiguration gibt an, dass das node_modules-Verzeichnis, das npm-Abhängigkeiten enthält, gespeichert und beim nächsten Ausführen der Pipeline verwendet werden soll.

Sie können das Caching auch für andere Abhängigkeitstypen und Dateien konfigurieren. Sie können beispielsweise Python-Bibliotheken mithilfe der folgenden Konfiguration zwischenspeichern:

cache:paths:- .venv/

In diesem Beispiel ein Verzeichnis .das venv, das die virtuelle Python-Umgebung enthält, wird gespeichert und für die nächsten Pipeline-Ausführungen verwendet.

Neben der Angabe der Pfade zu den zwischengespeicherten Daten können Sie auch festlegen, wie lange sie gespeichert werden sollen. Standardmäßig werden die Daten nur für einen einzigen Pipelinestart zwischengespeichert. Sie können jedoch eine längere Lebensdauer für Caches festlegen, damit diese bei späteren Pipelinestarts verwendet werden können:

cache:paths:- node_modules/untracked: truekey: "$CI_COMMIT_REF_SLUG"policy: pull-push

In diesem Beispiel wird der Cache mit einem Schlüssel gespeichert, der dem aktuellen Repository-Zweig entspricht, und das Pull-Push-Protokoll wird verwendet, um zwischengespeicherte Daten herunterzuladen und zu laden.

Wenn Sie eine Pipeline mit konfiguriertem Caching ausführen, werden die gespeicherten Daten verwendet, was die Build-Zeit erheblich reduziert und die Leistung Ihres Gitlab Runner verbessert.

Anforderungen und Empfehlungen für den Umgang mit GitLab Runner

Bevor Sie mit der Konfiguration von GitLab Runner beginnen, sollten Sie sicherstellen, dass das System, auf dem Runner installiert wird, bestimmte Anforderungen erfüllt. Die folgenden Anforderungen und Empfehlungen helfen Ihnen dabei, eine stabile und effiziente Arbeit mit GitLab Runner zu gewährleisten:

  • Betriebssystem: GitLab Runner kann auf verschiedenen Betriebssystemen installiert werden, einschließlich Linux, macOS und Windows. Es gibt jedoch für jeden von ihnen eigene Installations- und Konfigurationsmerkmale, daher sollten Sie auf die entsprechende Dokumentation achten.
  • GitLab-Version: GitLab Runner muss mit der verwendeten Version von GitLab kompatibel sein. Es wird empfohlen, die neueste stabile Version von GitLab Runner zu verwenden, um auf die neuesten Funktionen und Fehlerbehebungen zugreifen zu können.
  • Ressourcenanforderungen: GitLab Runner kann eine beträchtliche Menge an Systemressourcen verbrauchen, insbesondere bei komplexen und umfangreichen Aufgaben. Stellen Sie sicher, dass Sie über genügend leistungsfähige und ressourcenintensive Hardware verfügen, um Runner auszuführen.
  • Internet-Verbindung: GitLab Runner muss über eine stabile und zuverlässige Internetverbindung verfügen, da er mit dem GitLab-Server kommuniziert, um Aufgaben zu empfangen und zu senden.
  • Anpassen der Umgebung: Stellen Sie sicher, dass Ihre Umgebung korrekt eingerichtet ist, bevor Sie mit GitLab Runner arbeiten. Dies kann das Festlegen der erforderlichen Abhängigkeiten, das Festlegen von Umgebungsvariablen usw. umfassen.
  • Sicherheit: Es wird empfohlen, einige Sicherheitsmaßnahmen bei der Arbeit mit GitLab Runner zu ergreifen, z. B. die Verwendung sicherer Passwörter, das Aktualisieren von Software, das regelmäßige Sichern von Daten usw.

Die Einhaltung dieser Anforderungen und Empfehlungen hilft Ihnen, einen reibungslosen und effizienten Betrieb mit GitLab Runner zu gewährleisten und mögliche Probleme und Fehler zu minimieren.