21 Einführung in GitLab CI/CD

GitLab CI/CD ist ein Tool zur Automatisierung von Softwareentwicklungsprozessen, das kontinuierliches Bauen, Testen und Bereitstellen von Code ermöglicht. Dadurch wird verhindert, dass neue Funktionen auf fehlerhaften Versionen basieren. Der Workflow besteht aus folgenden Schritten:

21.0.1 Erstellung der .gitlab-ci.yml Datei

Diese YAML-Datei bildet das Herzstück jeder Pipeline. Sie definiert, welche Schritte (Jobs) in welcher Reihenfolge (Phasen) ausgeführt werden. Jede Pipeline kann so gestaltet werden, dass sie verschiedene Phasen wie Build, Test und Deployment umfasst. Die Datei enthält auch Abhängigkeiten, Variablen und Bedingungen, um die Automatisierung zu steuern.

21.0.2 Einsatz von Runnern

Runner sind Ausführungsumgebungen, die die Jobs einer Pipeline abarbeiten. Sie können auf physischen Maschinen, virtuellen Instanzen oder in Containern betrieben werden. GitLab.com bietet vorkonfigurierte Runner für Linux, Windows und macOS. Alternativ können eigene Runner auf selbst verwalteten Instanzen eingerichtet werden. Diese Runner führen die in der .gitlab-ci.yml definierten Aufgaben aus.

21.0.3 Definition von Pipelines

Pipelines bestehen aus mehreren Phasen, wobei jede Phase eine Gruppe von Jobs umfasst, die parallel oder sequentiell ausgeführt werden. Beispielsweise kann eine typische Pipeline aus den Phasen “Build”, “Test” und “Deploy” bestehen. Die Pipeline kann durch verschiedene Ereignisse wie Commits, Merges oder Zeitpläne ausgelöst werden. GitLab ermöglicht es, Pipelines einfach zu visualisieren und zu überwachen.

21.0.4 Verwendung von CI/CD-Variablen

Variablen sind nützlich, um Konfigurationen und sensible Daten, wie API-Schlüssel, innerhalb einer Pipeline zu verwalten. GitLab unterstützt sowohl benutzerdefinierte Variablen, die der Nutzer festlegt, als auch vordefinierte Variablen, die systemseitig bereitgestellt werden. Diese Variablen können für einzelne Jobs oder für ganze Projekte oder Gruppen festgelegt werden. Sie können zudem als “geschützt” oder “maskiert” markiert werden, um zusätzliche Sicherheit zu gewährleisten.

21.0.5 Einsatz von wiederverwendbaren CI/CD-Komponenten

CI/CD-Komponenten in GitLab ermöglichen die Wiederverwendung von Pipeline-Konfigurationen. Dies fördert eine konsistente Anwendung von Best Practices und reduziert die Notwendigkeit, ähnliche Pipelines mehrfach zu konfigurieren. Komponenten können in der Pipeline durch das include-Schlüsselwort hinzugefügt werden und erleichtern die Wartung großer Projekte. GitLab stellt auch vorgefertigte Templates zur Verfügung, um typische Aufgaben schneller zu integrieren.