Aktualisiert am: 2. Juni 2025
6 Minuten Lesezeit
In diesem Leitfaden für Einsteiger(innen) lernst du die Grundlagen der kontinuierlichen Integration und kontinuierlichen Lieferung kennen. Du erfährst, was CI/CD-Komponenten sind und wie du sie erstellst.
Stell dir einen Workflow vor, bei dem jede Codeänderung automatisch erstellt, getestet und für deine Benutzer(innen) bereitgestellt wird. Genau das macht CI/CD (Kontinuierliche Integration/Kontinuierliche Lieferung)! Mit CI/CD kannst du Fehler frühzeitig erkennen, die Qualität des Codes sicherstellen und Software schneller und häufiger bereitstellen.
GitLab CI/CD ist ein leistungsstarkes, eingegliedertes System, das in GitLab integriert ist. Es bietet ein nahtloses Erlebnis für die Automatisierung deines gesamten Software-Entwicklungsprozesses. Mit GitLab CI/CD kannst du:
.gitlab-ci.yml
: Diese YAML-Datei (nur in englischer Sprache verfügbar), die sich im Stammverzeichnis deines Projekts befindet, definiert deine CI/CD-Pipeline, einschließlich Phasen, Jobs und Runner.Die ersten Schritte mit GitLab CI sind einfach. Hier ist ein einfaches Beispiel für eine .gitlab-ci.yml
-Datei:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the application..."
test_job:
stage: test
script:
- echo "Running tests..."
deploy_job:
stage: deploy
script:
- echo "Deploying to production..."
environment:
name: production
Diese Konfiguration definiert drei Phasen: „build“, „test“ und „deploy“. Jede Phase enthält einen Job, der ein einfaches Skript ausführt.
Sehen wir uns einige realistischere Beispiele an.
Erstellen und Bereitstellen einer Node.js-Anwendung
Die folgende Pipelinedefinition beschreibt die Verwendung von npm, um eine Node.js-Anwendung zu erstellen und zu testen, und dpl (nur in englischer Sprache verfügbar), um die Anwendung in Heroku bereitzustellen. In der Bereitstellungsphase der Pipeline werden die GitLab-CI/CD-Variablen (nur in englischer Sprache verfügbar) verwendet, mit denen Entwickler(innen) vertrauliche Informationen (z. B. Zugangsdaten) speichern und sicher in CI/CD-Prozessen verwenden können. In diesem Beispiel wird ein API-Schlüssel für die Bereitstellung in Heroku unter dem variablen Schlüsselnamen '$HEROKU_API_KEY` gespeichert, den das dpl-Tool verwendet.
stages:
- build
- test
- deploy
build:
stage: build
image: node:latest
script:
- npm install
- npm run build
test:
stage: test
image: node:latest
script:
- npm run test
deploy:
stage: deploy
image: ruby:latest
script:
- gem install dpl
- dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY
Bereitstellung in verschiedenen Umgebungen (Staging und Produktivumgebung)
GitLab bietet auch Umgebungen (nur in englischer Sprache verfügbar) mit CI/CD. Mit dieser Funktion können Benutzer(innen) die Bereitstellung von CI/CD auf Infrastrukturziele verfolgen. Im folgenden Beispiel fügt die Pipeline Phasen mit einer Umgebungseigenschaft für eine Staging- und eine Produktivumgebung hinzu. Während die Phase „deploy_staging“ ihr Skript immer ausführt, erfordert die Phase „deploy_production“ eine manuelle Genehmigung, um eine versehentliche Bereitstellung in der Produktionsumgebung zu verhindern.
stages:
- build
- test
- deploy_staging
- deploy_production
build:
# ...
test:
# ...
deploy_staging:
stage: deploy_staging
script:
- echo "Deploying to staging..."
environment:
name: staging
deploy_production:
stage: deploy_production
script:
- echo "Deploying to production..."
environment:
name: production
when: manual # Requires manual approval
GitLab Auto-DevOps (nur in englischer Sprache verfügbar) vereinfacht CI/CD, indem es eine vordefinierte Konfiguration bereitstellt, mit der deine Anwendungen automatisch erstellt, getestet und bereitgestellt werden. Es nutzt bewährte Methoden und Branchenstandards, um deinen Workflow zu optimieren.
So aktivierst du Auto-DevOps:
Auto-DevOps erkennt automatisch die Sprache und das Framework deines Projekts und konfiguriert die erforderlichen Build-, Test- und Bereitstellungsphasen. Du musst nicht einmal eine .gitlab-ci.yml
-Datei erstellen.
Der CI/CD-Katalog (nur in englischer Sprache verfügbar) ist eine Liste von Projekten mit veröffentlichten CI/CD-Komponenten (nur in englischer Sprache verfügbar), die du zur Erweiterung deines CI/CD-Workflows nutzen kannst. Jeder kann ein Komponentenprojekt erstellen und es zum CI/CD-Katalog hinzufügen oder zu einem bestehenden Projekt beitragen, um die verfügbaren Komponenten zu verbessern. Die veröffentlichten Komponenten findest du im CI/CD-Katalog auf GitLab.com.
Du kannst auch deine eigenen CI-Vorlagen (nur in englischer Sprache verfügbar) erstellen, um CI/CD-Konfigurationen zu standardisieren und über mehrere Projekte hinweg wiederzuverwenden. Das fördert die Konsistenz und reduziert doppelte Arbeit.
So erstellst du eine CI-Vorlage:
.gitlab-ci.yml
-Datei in einem eigenen Projekt oder Repository..gitlab-ci.yml
-Datei deines Projekts das Schlüsselwort include
, um die Vorlage einzuschließen.GitLab CI/CD ist ein leistungsstarkes Tool, das deinen Workflow bei der Entwicklung verbessern kann. Wenn du die Konzepte von CI/CD verstehst, deine Pipelines konfigurierst und Funktionen wie Auto-DevOps, den CI/CD-Katalog und CI-Vorlagen nutzt, kannst du deinen gesamten Software-Entwicklungsprozess automatisieren und schneller und effizienter hochwertige Software liefern.
Willst du dein Wissen vertiefen? Registriere dich für die englischsprachigen Kurse der GitLab University. Du kannst auch sofort mit der kostenlosen 60-tägigen Testversion von GitLab Ultimate loslegen.
Weitere Artikel in unserer Serie „Erste Schritte mit GitLab“: