CI/CD Pipelines: A Comprehensive Guide

Dieser umfassende Leitfaden bietet eine tiefgehende Einführung in CI/CD-Pipelines (Continuous Integration/Continuous Delivery/Deployment) und behandelt zentrale Konzepte, Syntax und praktische Anwendungen. Sie lernen, wie CI/CD die Build-, Test- und Deployment-Phasen Ihrer Anwendung automatisiert – von der Ersteinrichtung bis zu fortgeschrittenen Themen wie Sicherheit, Debugging und der Integration von Cloud-Diensten wie Google Cloud. Diese Ressource hilft Ihnen, effiziente, automatisierte Workflows für die Softwareentwicklung zu verstehen und umzusetzen.

CI/CD Pipelines: A Comprehensive Guide

6-8 hours

15 Lektionen

Aktualisiert January 2025

GitLab Documentation

GitLab Documentation

Comprehensive Guide

Ist diese Dokumentation die richtige für mich?

Diese umfassende Dokumentation richtet sich an Entwickler*innen, DevOps-Engineers und alle, die am Software-Lebenszyklus beteiligt sind und CI/CD-Pipelines verstehen, einführen oder optimieren möchten. Sie ist besonders hilfreich, wenn Sie Ihre Build-, Test- und Deployment-Prozesse automatisieren, die Zusammenarbeit verbessern und die Softwarequalität steigern möchten.

Voraussetzungen

  • Grundlegendes Verständnis von Softwareentwicklungskonzepten.
  • Vertrautheit mit Versionskontrollsystemen (wie Git) wird empfohlen.
  • Grundkenntnisse auf der Kommandozeile.

Was werde ich lernen?

In dieser Dokumentation lernen Sie:

  • Anwendungen mit CI/CD bauen und bereitstellen: Wie CI/CD-Pipelines das Kompilieren, Paketieren und die Artefakt-Erzeugung Ihrer Software automatisieren. Inklusive zweier Tutorials mit unterschiedlichem Schwierigkeitsgrad.
  • Einstieg & Überblick: Ein grundlegendes Verständnis der CI/CD-Konzepte und wie die verschiedenen Funktionen in einer Pipeline zusammenspielen.
  • CI/CD-YAML-Syntaxreferenz: Detaillierte Erläuterung der Schlüsselwörter, Syntax, Beispiele und Eingaben zur Definition Ihrer CI/CD-Workflows.
  • Runner: Wie Sie Runner für die Ausführung von CI/CD-Jobs konfigurieren und verwalten.
  • Pipelines: Ausführliche Behandlung der Pipeline-Konfiguration, Automatisierungsstrategien, der Definition von Stages, von Zeitplänen und der Optimierung der Pipeline-Effizienz.
  • Jobs: Wie Sie einzelne Jobs konfigurieren, Regeln definieren, Caching einsetzen, Artefakte verwalten und Job-Logs auswerten.
  • CI/CD-Komponenten: Wie Sie wiederverwendbare, versionierte CI/CD-Komponenten erstellen und nutzen, um die Pipeline-Entwicklung zu vereinfachen.
  • CI/CD-Variablen: Konfiguration, Verwendung und Sicherheitsaspekte von CI/CD-Variablen.
  • Pipeline-Sicherheit: Bewährte Verfahren für den Umgang mit Secrets, Job-Tokens, geschützte Dateien und Cloud-Sicherheit in Ihren Pipelines.
  • Debugging: Verfahren zur Validierung der Konfiguration, zum Erkennen von Warnungen, zur Fehlerbehebung und zur allgemeinen Fehlersuche in CI/CD-Pipelines.
  • Auto DevOps: Ein Überblick über die automatisierten DevOps-Funktionen, einschließlich Spracherkennung, Standard-Deployments und Anpassungsmöglichkeiten.
  • Testing: Einbindung von Unit- und Integrationstests, Erzeugung von Testberichten, Messung der Code-Abdeckung und Sicherstellung der Qualität in der Pipeline.
  • Google-Cloud-Integration: Wie Sie CI/CD-Pipelines mit Google-Cloud-Diensten integrieren und Kubernetes-Deployments verwalten.
  • Migration zu GitLab CI/CD: Anleitung zur Migration bestehender CI/CD-Setups von Plattformen wie Jenkins, GitHub Actions und anderen zu GitLab CI/CD.
  • Integrationen externer Repositories: Wie Sie externe Repositories wie GitHub und Bitbucket anbinden, Mirroring einrichten und plattformübergreifendes CI/CD verwalten.

Was werde ich können?

Am Ende dieses Tutorials können Sie:

  • Robuste CI/CD-Pipelines für Ihre Anwendungen entwerfen und umsetzen.
  • Build-, Test- und Deployment-Prozesse automatisieren und den manuellen Aufwand deutlich reduzieren.
  • Effiziente und sichere CI/CD-Konfigurationen in YAML-Syntax schreiben.
  • Pipeline-Fehler wirksam analysieren und beheben.
  • Ihre CI/CD-Workflows mit externen Repositories und Cloud-Plattformen, einschließlich Google Cloud, integrieren.
  • Bewährte Verfahren für Pipeline-Sicherheit und Secrets-Management verstehen und anwenden.
  • Gegebenenfalls bestehende CI/CD-Setups zu GitLab CI/CD migrieren.