Ein Job ist die grundlegende Einheit in einer GitLab
CI/CD-Pipeline. Jeder Job repräsentiert eine spezifische Aufgabe oder
ein Skript, das ausgeführt werden soll. Er gehört zu einer
Stage und wird in der Reihenfolge der definierten
Stages ausgeführt. Der Job wird in der .gitlab-ci.yml-Datei
beschrieben und kann dabei viele verschiedene Parameter enthalten, die
seine Ausführung und das Verhalten in der Pipeline steuern.
Ein Job wird als eigener Abschnitt in der
.gitlab-ci.yml-Datei definiert. Der Name des Jobs fungiert
als Schlüssel und ist frei wählbar, sollte jedoch eindeutig und
aussagekräftig sein. Darunter werden verschiedene Parameter wie
script, stage, und variables
festgelegt, die bestimmen, was der Job ausführt, in welcher Phase der
Pipeline er läuft und welche Umgebung er verwendet.
Beispiel:
build_job:
stage: build
script:
- echo "Building the project"
- make buildIn diesem Beispiel ist der Job build_job in der
build-Phase der Pipeline zugeordnet. Der Job führt die
im script-Abschnitt definierten Befehle aus. Zuerst wird
eine einfache Ausgabe mit echo ausgeführt, danach der
Build-Prozess mit make build.
script: Der wichtigste Parameter, der die Befehle enthält, die im Job ausgeführt werden sollen. Dies können einfache Shell-Befehle oder komplexe Skripte sein.
stage: Gibt an, in welcher Phase der Pipeline
der Job ausgeführt wird. Phasen wie build,
test, und deploy sind gängig.
tags: Verwendet, um den Job auf spezifischen Runnern mit bestimmten Eigenschaften auszuführen.
artifacts und cache: Werden verwendet, um Ergebnisse zwischen verschiedenen Jobs zu speichern und wiederzuverwenden.
Ein Job kann allein stehen oder in einer größeren Pipeline mit mehreren Jobs und Stages eingebettet sein. Jeder Job läuft in einer isolierten Umgebung, was zu konsistenten und wiederholbaren Builds führt.
Weitere Informationen finden sich in der offiziellen GitLab-Dokumentation zu Job Keywords.