Anleitung und Anforderungen für Lab-Einrichtung
Schützen Sie Ihr Konto und Ihren Fortschritt. Verwenden Sie immer den privaten Modus und Lab-Anmeldedaten, um dieses Lab auszuführen.

CI/CD-Pipelines in Google Cloud umsetzen: Challenge-Lab

Lab 25 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Dieser Inhalt ist noch nicht für Mobilgeräte optimiert.
Die Lernumgebung funktioniert am besten, wenn Sie auf einem Computer über einen per E‑Mail gesendeten Link darauf zugreifen.

GSP393

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.

In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.

Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.

Dieses Lab wird allen empfohlen, die am Kurs CI/CD-Pipelines in Google Cloud umsetzen teilnehmen. Bereit?

Themen

  • Cloud Build und Artifact Registry für Container verwenden
  • Cloud Deploy-Pipelines mit Skaffold einrichten
  • Bereitstellung in mehreren Umgebungen mit Freigaben für Hochstufungen
  • Rollback von Bereitstellungen

Einrichtung

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.

Warten Sie, bis das Lab vollständig bereitgestellt wurde, bevor Sie Änderungen an der Umgebung vornehmen. Die vorkonfigurierten Teile der Umgebung, mit denen Sie arbeiten müssen, stehen Ihnen zur Verfügung, sobald das Lab als bereit angezeigt wird.

Das Szenario

Sie haben gerade als Cloud Engineer bei Jooli Inc. angefangen. Die neue Geschäftsleitung hat beschlossen, die Legacy-Systeme des Unternehmens durch eine verwaltete Infrastruktur und automatisierte Integrations- und Bereitstellungspipelines zu ersetzen. Sie sollen die besten Tools und Dienste finden und testen, um dieses Ziel zu erreichen.

Am Ende sollen Sie einen Proof of Concept vorlegen, der folgende Punkte abdeckt:

  • Speichern von Container-Images in einer sicheren und zuverlässigen Registry
  • Automatisches Scannen von Container-Images mit detaillierten Berichten zu Sicherheitslücken
  • Eine Test-Webanwendung, die in einer verwalteten Infrastruktur ausgeführt wird
  • Eine als Code definierte CI/CD-Pipeline, um manuelle Fehler zu vermeiden
  • Eine zuverlässige, einfache und schnelle Möglichkeit, Code bereitzustellen und in eine produktionsähnliche Umgebung zu übertragen oder bei Bedarf ein Rollback durchzuführen

Sie sollen die Cloud-Infrastruktur und die Bereitstellungstools bei Jooli mitverwalten. Zu Ihren typischen Aufgaben gehören die Bereitstellung von Ressourcen für Projekte und die Implementierung neuer Produkte und Dienste, um sicherzustellen, dass Jooli Inc. effektiv modernisiert und Best Practices folgt.

Das entsprechende Know-how wird vorausgesetzt. Sie erhalten daher keine detaillierte Anleitung.

Folgende Vorgaben von Jooli Inc. sind zu beachten:

  • Alle Ressourcen sind in der Region zu erstellen, sofern nicht anders angegeben.
  • Sie müssen die Standard-VPC (Virtual Private Cloud) des Projekts verwenden.
  • Die Dimensionierung der Ressourcen muss kostengünstig sein. Die Projekte werden überwacht und ein übermäßiger Ressourcenverbrauch führt zu einem Ende des betreffenden Projekts (und möglicherweise zum Ende Ihrer Beschäftigung). Umsicht ist also angebracht. Dies ist die Anleitung, die das Monitoring-Team zur Verfügung stellt. Sofern nicht anders angegeben, sollen die Standard-Maschinentypen verwendet werden.

Die Aufgabe

Im Büro angekommen öffnen Sie Ihren neuen Laptop und erhalten sogleich einige Aufgaben, die Sie erledigen sollen. Viel Erfolg!

  1. VORBEREITUNG: APIs aktivieren, Google Kubernetes Engine-Cluster (GKE) erstellen und Docker-Repository in Artifact Registry erstellen
  2. Quellcode klonen, Image erstellen und per Push an Artifact Registry übertragen
  3. Bereitstellungspipeline, Ziele und Release erstellen
  4. Image neu erstellen und per Push übertragen, mit „latest“ kennzeichnen
  5. Neuen Release mit der aktuellen Version erstellen
  6. Aktuellen Release zum zweiten Cluster hochstufen
  7. Rollback der Änderungen am zweiten Cluster durchführen, bearbeiten und neu veröffentlichen

Aufgabe 1: Vorbereitung – Umgebung einrichten, APIs aktivieren und Cluster erstellen

  1. Richten Sie Umgebungsvariablen für Ihre Projekt-ID ein. Sie sind wichtig, da sie in mehreren der unten aufgeführten Konfigurationsdateien genutzt wird. Sie können die folgenden Befehle verwenden:
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)') export REGION={{{ project_0.default_region }}} gcloud config set compute/region $REGION
  1. Führen Sie die untenstehenden Befehle aus, um folgende Dienste in Ihrem Google Cloud-Projekt zu aktivieren:
  • container.googleapis.com
  • clouddeploy.googleapis.com
  • artifactregistry.googleapis.com
  • cloudbuild.googleapis.com
gcloud services enable \ container.googleapis.com \ clouddeploy.googleapis.com \ artifactregistry.googleapis.com \ cloudbuild.googleapis.com
  1. Aktivieren Sie Berechtigungen für Kubernetes und Cloud Deploy mit den folgenden Befehlen:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/clouddeploy.jobRunner" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/container.developer"
  1. Erstellen Sie einen Cloud Storage-Bucket, in dem Cloud Build Quellen und Logs speichern kann:
gsutil mb -p $PROJECT_ID gs://${PROJECT_ID}_cloudbuild
  1. Erstellen Sie ein Artifact Registry-Repository.

Erstellen Sie ein Repository zum Speichern Ihrer Docker-Container.

Geben Sie dem Repository den Namen cicd-challenge.

gcloud artifacts repositories create cicd-challenge \ --description="Image registry for tutorial web app" \ --repository-format=docker \ --location=$REGION
  1. Erstellen Sie die GKE-Cluster.

Erstellen Sie zwei GKE-Cluster für Staging und Produktion mit den Namen cd-staging und cd-production. Die Cluster sollen jeweils in einer einzelnen Zone laufen und nur einen einzelnen Knoten enthalten.

gcloud container clusters create cd-staging --node-locations={{{ project_0.default_zone }}} --num-nodes=1 --async gcloud container clusters create cd-production --node-locations={{{ project_0.default_zone }}} --num-nodes=1 --async

Aufgabe 2: Images erstellen und ins Repository hochladen

  1. Klonen Sie das Repository für das Lab mit den folgenden Befehlen in Ihr Basisverzeichnis:
cd ~/ git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git cd cloud-deploy-tutorials git checkout c3cae80 --quiet cd tutorials/base
  1. Erstellen Sie die Konfiguration „skaffold.yaml“ mit dem folgenden Befehl:
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml cat web/skaffold.yaml

Das Verzeichnis „web“ umfasst jetzt die Konfigurationsdatei „skaffold.yaml“, die Anweisungen für Skaffold zum Erstellen eines Container-Images für Ihre Anwendung enthält.

  1. Führen Sie den Befehl „skaffold“ aus, um die Anwendung zu erstellen und das Container-Image im zuvor erstellten Artifact Registry-Repository bereitzustellen:

HINWEIS: Verwenden Sie den vollständigen Pfad zum zuvor erstellten Repository.

cd web skaffold build --interactive=false \ --default-repo <INSERT YOUR ARTIFACT REPOSITORY HERE> \ --file-output artifacts.json cd .. Überprüfen, ob der Container erstellt und dem Repository hinzugefügt wurde

Aufgabe 3: Bereitstellungspipeline erstellen

Führen Sie die folgenden Befehle aus, um die Pipeline-Vorlagendatei zu kopieren:

  1. Erstellen Sie die Ressource „delivery-pipeline“ mit der Datei „delivery-pipeline.yaml“:
cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml sed -i "s/targetId: staging/targetId: cd-staging/" clouddeploy-config/delivery-pipeline.yaml sed -i "s/targetId: prod/targetId: cd-production/" clouddeploy-config/delivery-pipeline.yaml sed -i "/targetId: test/d" clouddeploy-config/delivery-pipeline.yaml
  1. Legen Sie die Bereitstellungsregion mit dem Konfigurationsparameter deploy/region fest.
  2. Wenden Sie die oben erstellte Pipelinekonfiguration mit dem Befehl gcloud beta deploy an.
  3. Prüfen Sie mit dem folgenden Befehl, ob die Bereitstellungspipeline erstellt wurde:
gcloud beta deploy delivery-pipelines describe web-app

Bereitstellungsziele konfigurieren

Es werden zwei Ziele für die Bereitstellungspipeline erstellt – eines für jeden GKE-Cluster.

Prüfen, ob die Cluster bereit sind

Die zwei GKE-Cluster sollten jetzt ausgeführt werden. Es ist jedoch sinnvoll, dies zu überprüfen.

  • Rufen Sie den Status der Cluster ab:
gcloud container clusters list --format="csv(name,status)"

Alle Cluster sollten den Status RUNNING haben, wie in der folgenden Ausgabe zu sehen. Wenn sie noch nicht als RUNNING gekennzeichnet sind, wiederholen Sie den Befehl oben, bis sich ihr Status in RUNNING geändert hat.

Kontext für jeden Cluster erstellen

  • Verwenden Sie die folgenden Befehle, um die Anmeldedaten für jeden Cluster abzurufen und einen einfach zu verwendenden „kubectl“-Kontext zu erstellen, um später auf die Cluster zu verweisen:
CONTEXTS=({INSERT YOUR TARGETS HERE}) for CONTEXT in ${CONTEXTS[@]} do gcloud container clusters get-credentials ${CONTEXT} --region ${REGION} kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT} done

Namespace in jedem Cluster erstellen

  • Erstellen Sie mit den folgenden Befehlen in jedem der Cluster einen Kubernetes-Namespace (web-app):
for CONTEXT in ${CONTEXTS[@]} do kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml done

Ziele für die Bereitstellungspipeline erstellen

  1. Erstellen Sie für jedes Ziel eine Definitionsdatei mit den folgenden Befehlen (es sind keine Änderungen erforderlich):
envsubst < clouddeploy-config/target-staging.yaml.template > clouddeploy-config/target-cd-staging.yaml envsubst < clouddeploy-config/target-prod.yaml.template > clouddeploy-config/target-cd-production.yaml sed -i "s/staging/cd-staging/" clouddeploy-config/target-cd-staging.yaml sed -i "s/prod/cd-production/" clouddeploy-config/target-cd-production.yaml
  1. Wenden Sie die Zieldateien auf Cloud Deploy an.

Die Ziele sind in einer YAML-Datei beschrieben. Jedes Ziel konfiguriert die relevanten Clusterinformationen für das Ziel.

Rufen Sie die Details für das Ziel „staging“ auf:

cat clouddeploy-config/target-cd-staging.yaml Überprüfen, ob die Cloud Deploy-Ziele erstellt wurden

Aufgabe 4: Release erstellen

  1. Erstellen Sie mit dem Befehl gcloud beta deploy releases und den zuvor erstellten Dateien „skaffold.yaml“ und „artifacts.json“ einen Release.
  • Geben Sie dem Release den Namen web-app-001 und verwenden Sie die Bereitstellungspipeline web-app.

HINWEIS: Ihr Quellverzeichnis sollte web/ sein.

  • Prüfen Sie, ob Ihre Anwendung in der Staging-Umgebung (cd-staging) bereitgestellt wurde. Verwenden Sie dazu den folgenden Befehl oder die Console.
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Cloud Deploy-Pipeline

Bereitstellung in der Staging-Umgebung überprüfen

Aufgabe 5: Anwendung zu Produktion hochstufen

  • Stufen Sie Ihre Anwendung von der Staging-Umgebung (cd-staging) in die Produktionsumgebung (cd-production) hoch.

HINWEIS: Vergessen Sie nicht, die Bereitstellung freizugeben.

Bereitstellung in der Produktionsumgebung überprüfen

Aufgabe 6: Eine Änderung an der Anwendung vornehmen und noch einmal bereitstellen

  1. Öffnen Sie mit dem Editor das Verzeichnis cloud-deploy-tutorials/tutorials/base/web/leeroy-app/ und bearbeiten Sie die Datei app.go. Ändern Sie Zeile 24 in: fmt.Fprintf(w, "leeroooooy app v2!!\n")
  2. Erstellen Sie die Anwendung und übertragen Sie sie per Push in Artifact Registry.
  3. Erstellen Sie einen neuen Release in der Pipeline, die Sie zuvor eingerichtet haben. Geben Sie dem Release den Namen web-app-002.
  4. Prüfen Sie, ob die neue Version in der Staging-Umgebung bereitgestellt wurde.
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-002

Aufgabe 7: Rollback der Änderung durchführen

Oh nein! Die QA Engineers haben einen Fehler in Ihrem Release für die Staging-Umgebung gefunden. Sie müssen also ein Rollback auf die vorherige Version durchführen.

  1. Verwenden Sie Cloud Deploy, um ein Rollback auf die ursprüngliche Version der Anwendung (web-app-001) durchzuführen.
  2. Prüfen Sie, ob die ursprüngliche Version ausgeführt wird.
Prüfen, ob das Rollback erfolgreich war

Glückwunsch!

In diesem Lab haben Sie erfolgreich eine CI/CD-Pipeline mit Google Cloud Deploy und Artifact Registry eingerichtet. Sie haben einen Proof of Concept erstellt, der alle Anforderungen der Geschäftsleitung erfüllt. Jooli Inc. ist nun auf einem guten Weg, durch die Anwendungsmodernisierung einen höheren Return on Investment (ROI) zu erzielen.

Logo „CI/CD in Google Cloud“

Nächstes Skill-Logo erwerben

Dieses Lab gehört zum Kurs CI/CD-Pipelines in Google Cloud umsetzen. Wenn Sie ihn abschließen, erhalten Sie das oben gezeigte Skill-Logo, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge.

Dieser Skill-Logo-Kurs ist Teil des Lernpfads „DevSecOps“ von Google Cloud. Erweitern Sie Ihr Wissen im Lernpfad.

Weitere Informationen

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 19. Mai 2025 aktualisiert

Lab zuletzt am 19. Mai 2025 getestet

© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Am besten führen Sie dieses Lab in einem Inkognito- oder privaten Browserfenster aus. So vermeiden Sie Konflikte zwischen Ihrem privaten Konto und dem Teilnehmerkonto, die zusätzliche Kosten für Ihr privates Konto verursachen könnten.