Continuous Integration / Delivery mit GitLab

Grundlagen zu GitLab Pipelines

  • Anatomie einer Pipeline
  • Unterschied zwischen Stages und Jobs
  • Die .gitlab-ci.yml-Datei
  • Runner als Arbeitstiere
  • Docker-, Kubernetes-, Shell-Runner und weitere Runner
  • Wann welcher Runner-Typ geeignet ist
  • Auswahl eines Runners für einen Job über Tags
  • Wie das „Don’t repeat yourself“-Prinzip (DRY) in Pipelines umgesetzt wird
  • Allgegenwärtige Variablen in (fast) jeder Pipeline

Artefakte – Outputs der Jobs

  • Handhabung der mit der Pipeline erzeugten Artefakte
  • Artefakte mittels Dateifilter deklarieren
  • Ablaufdatum für Artefakte verwenden
  • Cache vs. Artifacts

Erzeugung von Docker Images

  • Problematik bei der Erzeugung von Docker Images in der Pipeline (docker-in-docker)
  • Vorstellung möglicher Lösungsansätze
  • Erzeugung eines Docker Images mit podman
  • Erzeugung eines Docker Images mit kaniko

GitLab Registries

  • Container Registry
  • Package Registry

GitLab Services

  • Wie Services als Teil eines Jobs verwendet werden können
  • Welche Runner Services unterstützen
  • Wie Services im Job via Netzwerk erreichbar sind
  • Verschiedene Einsatzszenarien für Services

Wiederverwendung von Teilen der Pipeline

  • DRY: Nutzung von YAML Sprachmitteln wie Anchors und Aliases
  • DRY: Mit include/extend wiederverwendbare Pipeline-Teile in separate Dateien auslagern
  • Die verschiedenen Möglichkeiten, separaten Dateien an verschiedenen Orten abzulegen und zu referenzieren

Environments und Releases

  • Welcher Job was wohin deployed
  • Statische vs. dynamische Environments
  • Attribute eines Environments
  • Releases als Teil der Pipeline erzeugen
  • Umfang eines Releases und optionale Komponenten
  • Erzeugung eines Git Tags als Teil eines Release-Jobs
  • Nutzung der relase-cli

Trigger und Verwendung dieser in Pipelines

  • Definition eines Triggers
  • Parent/Child Pipelines aufbauen
  • Multi-Project Pipelines aufbauen
  • Definition von Regeln, wann ein Trigger ausgeführt wird
  • Pausieren einer Pipeline durch manuelle Trigger

Regeln für die Pipeline

  • rules als Mittel, um Dynamik in die Pipelines zu bringen
  • Wann und wie rules ausgewertet werden
  • Wie rules entscheiden, ob ein Job ein Teil der Pipeline wird
  • Unterschiedliche Typen von rules

Weiteres

  • Workflow - Übergeordnete Kontrolle einer Pipeline
  • Effiziente Pipelines – Directed Acyclic Graph (DAG) mit needs-Schlüsselwort
  • Deployment Safety / Deploy Freezes
  • Projektorganisation und Entwicklungsplanung

Unsere Veranstaltungsorte von dieser / diesem Schulung, Training, Seminar, Kurs (nach oben): Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Continuous Integration / Delivery mit GitLab – wir setzen nur auf erfahrene Talente als Continuous Integration / Delivery mit GitLab Trainer. Das Credo von Florian Fordermaier lautet „Ich will, dass alle Teammitglieder nachts ruhig schlafen können“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).

Nach oben