5 Beispiel einer Pipeline

5 Beispiel einer Pipeline (mit GitLab)

In diesem Kapitel wird ein Beispiel über die Einrichtung einer Pipeline auf Gitlab vorgestellt.

5.1 Installieren des Gitlab-Runners unter Ubuntu

GitLab-Runner ist eine Anwendung, die mit GitLab CI/CD zusammenarbeitet, um Auf- träge in einer Pipeline auszuführen. Die Applikation kann unter folgenden URL herunter- laden werden:

Herunderladen der GitLab-Runner-Installationsdatei für Ubuntu-OS:

curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/
gitlab-runner_amd64.deb"

Herunterladen der Gitlab-Runner-Installationsdatei: Herunterladen der Gitlab-Runner-Installationsdatei

GitLab-Runner installieren:

sudo dpkg -i gitlab-runner_amd64.deb

Installieren des Gitlab-Runners: Installieren des Gitlab-Runners

Überprüfung der installierten Version:

gitlab-runner verify

Ergebnis der Überprüfung: Installieren des Gitlab-Runners

5.2 Registrierung des GitLab-Runner auf Gitlab Repository

Nach der erfolgreichen Installation des Gitlab-Runners, muss es für die gewünschten Gitlab-Repository registriert werden. Dafür braucht man zwei Informationen der Reposi- tory: die Url zur Registierung und den Token. Um diese Informationen zu haben, muss zuerst eine Gitlab-Repository erstellt werden. Nach der Erstellung der Gitlab-Repository, kann die erforderlichen Informationen in der Repository unter Setting => CI/CD => Runners geholt werden. Danach kann die Informationen direkt aus der Seiten kopiert werden (siehe folgenden Abbildung):

Die URL und der Token der Repository

Auf dem Server wird folgenden Befehl ausgeführt, um den Gitlab-Runner in das er- stellten Gitlab-Projekt-Repository zu registrieren.

Registierung des Gitlab-Runners:

sudo gitlab-runner registrieren

Um die Registierung durchgeführt werden zu können, wird es aufgefordert, folgenden Daten einzugeben:

  • Enter the Gitlab instance URL: (Geben Sie die GitLab-Instanz-URL ein)
  • Enter the registration token: (Geben Sie das Registrierungstoken ein)
  • Enter a description for the runner: (Geben Sie eine Beschreibung für den Läufer ein)
  • Enter tags for the runner: (Geben Sie Tags für den Runner ein)
  • Enter an executor: (Geben Sie einen Executor ein)

Die Informationen für die URL und den Token werden aus der Repository eingefügt. Die nächsten zwei Daten über Beschreibung und Tag können beliebig eingefügt werden. Für die letzte Option kann es einfach mit Shell ausgewählt werden.

Registrierung des Gitlab-Runners: Registrierung des Gitlab-Runners

Nach der erfolgreichen Einstellung wird in der Repository der registrierten Runneraufgetaucht.

Ergebnis nach der Registrierung des Gitlab-Runners: Ergebnis nach der Registrierung des Gitlab-Runners

Der GitLab-Runner befindet sich im aktivierten Zustand. Wenn ein Runner bearbeitet werden muss, wird es auf den Knopf Pause geklickt. Ebenfalls wenn es entfernt werden soll, auf den Kopf Remove Runner. Mehrere Runner können für ein Projekt registriert werden. Wenn es ein neuer Commit gibt, ruft es basierend auf dem Tag den entsprechenden Runner zum Ausführen auf.

5.3 Konfigurationsdatei .gitlab-ci.yml

Die Datei .gitlab-ci.yml ist eine Konfigurationsdatei im YAML-Format. Die Parameter der Datei können unter https://docs.gitlab.com/ee/ci/yaml/ eingesehen werden. Der Inhalt der Datei sieht wie folgt aus:

1 # This file is a template, and might need editing before it works on your project.
2 stages:
3   - build
4   - test
5   - deploy
6 build_code_job:
7   stage: build
8   script:
9       - echo "Build Code"
10  tags:
11      - develop
12 test_code_job:
13  stage: test
14  script:
15      - echo "Test Code"
16  tags:
17  - develop
18 deploy_code_job:
19  stage: deploy
20  script:
21      - echo "hello world"
22  tags:
23      - develop

Diese Datei muss als Nächstes in das Stammverzeichnis des Projekts gelegt werden. Per git-Befehl funktioniert es wie folgt:

git add .gitlab-ci.yml
git commit -m ".gitlab-ci.yml hinzufügen"
git push origin master

Bei einem neuen Commit führt der GitLab Runner der Pipeline aus: Ausführung des Pipelines

Um die Log-Datei anzusehen, wird es auf das Wort passed geklickt: Detaillierte Information einer Pipeline

Der GitLab-Runner-Klon-Quellcode-Ordner kann im Log eines Jobs gefunden werden: Quellcode der Pipelines