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.

  1. Aufgabe: Runner nehmen die Anweisungen aus Ihrer Datei .gitlab-ci.yml entgegen und führen sie aus. Sie führen beispielsweise Ihre Tests aus oder stellen Ihren Code auf einem Server bereit.
  2. Ressourcen: Runner stellen die notwendige Rechenleistung (etwa Server oder virtuelle Maschinen) bereit, um diese Aufgaben auszuführen.
  3. 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.