Erweiterte Konfiguration
Grundlagen der .gitlab-ci.yml
4. Erweiterte Konfiguration der Datei .gitlab-ci.yml
Diese Lektion stellt lediglich einige erweiterte Konfigurationsmöglichkeiten vor, die Sie in Ihrer Datei .gitlab-ci.yml verwenden können. Diese Konfigurationen können Ihnen helfen, Ihre CI/CD-Pipeline zu optimieren und die Effizienz Ihrer Abläufe zu verbessern.
4.1 Umgebungsvariablen
Mit Umgebungsvariablen können Sie vertrauliche Informationen oder Konfigurationseinstellungen verwalten. [Ausführlicher behandelt im Kurs für Fortgeschrittene]
variables:
LOG_LEVEL: "info"
4.2 Caching
Caching ermöglicht es Ihnen, Abhängigkeiten oder kompilierte Ausgaben zu speichern, um nachfolgende Pipeline-Durchläufe zu beschleunigen. cache wird daher in der Regel verwendet, wenn spätere Pipeline-Durchläufe Dateien benötigen, die frühere Durchläufe bereits erzeugt oder heruntergeladen haben.
cache:
paths:
- .cache/pip/
In diesem Beispiel wird das Verzeichnis .cache/pip/ zwischengespeichert, um die Installation von Python-Paketen in nachfolgenden Pipeline-Durchläufen zu beschleunigen. Beim nächsten Pipeline-Durchlauf werden dadurch die zwischengespeicherten Pakete verwendet, anstatt sie erneut herunterzuladen.
4.3 Abhängigkeiten
Mit Abhängigkeiten (dependencies) definieren Sie Beziehungen zwischen Jobs und legen fest, welche Artefakte ein Job von erfolgreich abgeschlossenen vorherigen Jobs erhält. Das ist hilfreich, wenn Sie mehrere Jobs ausführen müssen, die aufeinander aufbauen.
4.4 GitLab Runner verwenden
Legen Sie fest, welche Art von Runner Ihre Jobs ausführen soll. GitLab Runner sind die Programme, die die in Ihrer Pipeline definierten Jobs ausführen. Dabei kann es sich um gemeinsam genutzte Runner handeln, die von GitLab bereitgestellt werden, oder um Projekt- oder Gruppen-Runner, die Sie selbst einrichten.
build_job:
stage: build
script:
- pip install -r requirements.txt
- python setup.py build
tags:
- docker # Dieses Tag legt fest, dass ein Runner mit dem Tag docker verwendet werden soll
4.5 Regeln (rules)
Mit dem Schlüsselwort rules steuern Sie, wann ein Job zu einer Pipeline hinzugefügt wird. Regeln können Branches, Tags, Pipeline-Quellen, Variablen oder geänderte Dateien auswerten.
test_job:
stage: test
script:
- pytest tests/
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
4.6 Pipeline-Visualisierungen und Berichte
GitLab stellt Visualisierungen und Berichte bereit, mit denen Sie den Pipeline-Status, Job-Ergebnisse und Leistungskennzahlen überwachen können. Diese Erkenntnisse helfen Teams dabei, Engpässe zu erkennen, Abläufe zu optimieren und ihre CI/CD-Praktiken kontinuierlich zu verbessern. Unter Analyze > CI/CD analytics erhalten Sie Einblicke in die CI-Pipeline.