Komponenten von GitLab CI/CD
CI/CD-Grundlagen
3. Komponenten von GitLab CI/CD
3.1 Die Konfigurationsdatei .gitlab-ci.yml
Die Datei .gitlab-ci.yml legt fest, wie der CI/CD-Prozess ausgeführt wird. Sie definiert die Stages (Phasen wie Build, Test und Bereitstellung) sowie die Aufgaben, die in jeder Stage erledigt werden.
Wichtige Elemente:
- Stages: Die verschiedenen Abschnitte einer Pipeline (zum Beispiel Build, Test, Bereitstellung).
- Jobs: Aufgaben, die in jeder Stage ausgeführt werden.
script: Befehle, die jeder Job ausführt.- Abhängigkeiten: Beziehungen zwischen Jobs, die festlegen, welche Artefakte ein Job von vorherigen Jobs erhält.
- Artefakte: Von Jobs erzeugte Dateien, die in späteren Stages verwendet werden.
Typische Stages in einer .gitlab-ci.yml-Datei:
- Build: Kompiliert und baut den Quellcode.
- Test: Führt automatisierte Tests aus, um Funktion und Korrektheit des Codes zu prüfen.
- Deploy: Stellt die Anwendung in einer festgelegten Umgebung bereit (zum Beispiel Staging, Produktion).
Beispielkonfiguration:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Anwendung wird gebaut..."
- npm install
- npm run build
test_job:
stage: test
script:
- echo "Tests werden ausgeführt..."
- npm test
deploy_job:
stage: deploy
script:
- echo "Anwendung wird bereitgestellt..."
- ./deploy.sh
3.2 GitLab Runner
GitLab Runner führen die in der Datei .gitlab-ci.yml definierten CI/CD-Jobs aus. Runner übernehmen die Ausführung der einzelnen Stages Ihres Projekts, beispielsweise Build, Test und Bereitstellung.
- Aufgabe: Runner nehmen die Anweisungen aus Ihrer Datei
.gitlab-ci.ymlentgegen und führen sie aus. Sie führen beispielsweise Ihre Tests aus oder stellen Ihren Code auf einem Server bereit. - Ressourcen: Runner stellen die notwendige Rechenleistung (etwa Server oder virtuelle Maschinen) bereit, um diese Aufgaben auszuführen.
- Effizienz: Eine gute Verwaltung der Runner sorgt dafür, dass alles reibungslos und schnell abläuft, sodass Ihre Softwareaktualisierungen zuverlässig und ohne Probleme ausgeliefert werden können.
3.2.1 GitLab Runner und das Taschenrechnerprojekt
Der GitLab Runner führt die für die Taschenrechneranwendung definierten CI/CD-Jobs aus. Wenn beispielsweise der Job test_job läuft, führt der Runner Tests aus, um sicherzustellen, dass sich die Taschenrechneranwendung wie erwartet verhält. Diese unmittelbare Rückkopplungsschleife ist entscheidend, um Codequalität und Zuverlässigkeit der Anwendung aufrechtzuerhalten.
3.3 Pipeline-Visualisierungen und Berichte
GitLab bietet Werkzeuge, mit denen Sie sehen können, wie es um Ihre CI/CD-Pipelines steht. Diese Werkzeuge zeigen Ihnen:
- Pipeline-Status: Sie können prüfen, ob Ihre Pipelines reibungslos laufen oder ob Probleme aufgetreten sind.
- Job-Ergebnisse: Sie sehen die Ergebnisse der einzelnen ausgeführten Aufgaben (Jobs), etwa ob Ihre Tests bestanden wurden oder fehlgeschlagen sind.
- Leistungskennzahlen: Sie können Daten dazu sammeln, wie schnell Ihre Pipelines laufen und an welchen Stellen sie möglicherweise langsamer werden.
Warum ist das wichtig?
- Engpässe erkennen: Wenn etwas zu lange dauert, können Sie herausfinden, wo das Problem liegt, und es beheben.
- Abläufe optimieren: Sie können die Zusammenarbeit in Ihrem Team auf Grundlage dessen verbessern, was die Daten zeigen.
- Kontinuierliche Verbesserung: Indem Sie diese Erkenntnisse regelmäßig auswerten, kann Ihr Team die Softwarebereitstellung stetig verbessern.
Mit Funktionen wie Analyze > CI/CD analytics können Teams fundierte Entscheidungen auf Basis echter Daten treffen und so ihren Entwicklungsprozess verbessern.
4. Fazit und nächste Schritte
Mit dem Verständnis der Grundlagen von CI/CD ist die Basis geschaffen, um den Entwicklungszyklus der Taschenrechneranwendung wirksam zu steuern. Im nächsten Modul geht es um die Erstellung der Datei .gitlab-ci.yml, die den CI/CD-Prozess des Projekts definiert.