Lieferpipeline und Ziele erstellen

Auf dieser Seite wird beschrieben, wie Sie die Bereitstellungspipeline und die Ziele erstellen, die angeben, wo und wie Cloud Deploy Ihre Anwendung bereitstellt. Eine Beschreibung der YAML-Dateistruktur für Lieferpipelines und Ziele finden Sie unter Schema der Konfigurationsdatei.

Lieferpipeline und Ziele

Ihre Lieferpipeline beschreibt den Fortschritt in der Bereitstellungssequenz. Sie können diese Ziele in derselben Datei wie die Lieferpipeline oder in einer oder mehreren separaten Dateien definieren.

Nachdem Sie die Lieferpipeline und die Zieldefinitionsdatei bzw. -dateien erstellt haben, führen Sie gcloud deploy apply für jede dieser Dateien aus, um sie als Cloud Deploy-Ressourcen zu registrieren.

Lieferpipeline und -ziele definieren

Die Struktur der Konfigurationsdateien für die Lieferpipeline und die Ziele wird hier beschrieben.

Sie können diese Datei jederzeit aufrufen. Konventionsgemäß wird eine Konfiguration der Zieldefinitionen mit enthaltenen Zieldefinitionen clouddeploy.yaml genannt, und eine Konfiguration, die stattdessen auf Ziele verweist, die in einer oder mehreren separaten Dateien definiert sind, delivery-pipeline.yaml.

Das Ziel kann auf GKE, GKE Enterprise oder Cloud Run verweisen. Innerhalb einer Bereitstellungspipeline müssen alle Ziele auf denselben Laufzeittyp verweisen (z. B. alle GKE oder alle GKE Enterprise).

Bereitstellungspipeline und Ziele mit der Google Cloud Console erstellen

Mit der Google Cloud Console können Sie eine neue Bereitstellungspipeline und ein oder mehrere Ziele erstellen. Das ist nützlich, um Cloud Deploy auszuprobieren, eignet sich jedoch nicht für Produktionsarbeitslasten. Sie können auch die Google Cloud Console verwenden, um einen Release zu erstellen.

So erstellen Sie die Bereitstellungspipeline:

  1. Klicken Sie auf der Seite Lieferpipelines auf Erstellen.

  2. Geben Sie einen Namen (oder lassen Sie den Standardnamen) und optional eine Beschreibung ein.

  3. Wählen Sie Ihre Region aus.

  4. Wählen Sie die Laufzeitumgebung aus.

    Wählen Sie für GKE Google Kubernetes Engine oder Cloud Run aus, wenn Sie die Bereitstellung für diese Laufzeit ausführen.

  5. Geben Sie unter Neues Ziel einen Namen ein oder übernehmen Sie den Standardnamen.

  6. Wenn für dieses Ziel eine Genehmigung erforderlich sein soll, setzen Sie ein Häkchen in das Kästchen Genehmigung für Roll-outs erforderlich.

  7. Wenn Sie für dieses Ziel eine Canary-Bereitstellungsstrategie verwenden möchten, klicken Sie das Kästchen Canary aktivieren an.

  8. Klicken Sie auf Fertig.

  9. Klicken Sie auf Ziel hinzufügen und führen Sie diese Schritte für jedes weitere Ziel aus, das Sie erstellen möchten.

  10. Wenn Sie alle Ziele festgelegt haben, klicken Sie auf Erstellen, um die Auslieferungspipeline und die Zielressourcen zu erstellen.

Zieldefinitionen und -ziele registrieren

Wenn Sie Ihre Pipeline und Ziele mit der Google Cloud Console erstellt haben, ist das nicht erforderlich.

Zum Registrieren Ihrer Lieferpipeline bei Cloud Deploy führen Sie gcloud deploy apply für jede separate Definitionsdatei einmal aus. Das heißt, wenn Sie drei Ziele in drei Dateien definieren, würden Sie den Befehl viermal ausführen – einmal für die Lieferpipeline und einmal für jedes Ziel.

Mit folgendem Befehl wird eine Lieferpipeline mit ihren in derselben Datei definierten Zielen registriert.

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

Sie haben jetzt eine Lieferpipeline, die die Bereitstellung Ihrer Releases verwalten kann, und Zielressourcen, die von jeder Lieferpipeline im selben Projekt und in derselben Region verwendet werden können.

Beispiel: nur eine Datei

Der Befehl in diesem Beispiel registriert eine Lieferpipeline und Ziele, wobei alles in derselben Datei definiert ist:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

Beispiel: separate Dateien

In diesem Beispiel sind drei Ziele in drei separaten Dateien definiert. Sie führen also vier Befehle aus:

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

Das --region-Flag ist erforderlich, sofern Sie keine Standardeinstellung (mit gcloud config set deploy/region [REGION]) festgelegt haben. Die Region muss für die Lieferpipeline und alle Ziele, auf die die Pipeline verweist, identisch sein.

Lieferpipeline und Ziele mit Terraform erstellen

Sie können auch den Google Cloud Terraform-Anbieter verwenden, um Bereitstellungspipelines und Zielressourcen zu erstellen.

Der Google Cloud-Beta-Terraform-Anbieter unterstützt möglicherweise Cloud Deploy-Funktionen in der Vorabversion.

Vorhandene Pipelines und Ziele bearbeiten

Sie können die Lieferpipeline oder die Zielkonfiguration später bearbeiten und gcloud deploy apply ausführen, um Pipeline oder Zielressource zu aktualisieren. Diese Änderungen wirken sich nicht auf vorhandene Releases aus, da diese von der ursprünglichen Lieferpipeline verwaltet werden.

Manuelle Genehmigung für eine Bereitstellung anfordern

Wenn Sie eine manuelle Genehmigung für ein bestimmtes Ziel anfordern möchten, fügen Sie folgendes Attribut in die Zieldefinition ein:

requireApproval: true

Der Standardwert ist false. Wenn Sie dieses Attribut in der Konfiguration der Lieferpipeline weglassen oder keinen Wert dafür angeben, ist für die Bereitstellung auf diesem Ziel keine Genehmigung erforderlich. Der Aufrufer, der zum Ziel hochstufen möchte, benötigt jedoch weiterhin die clouddeploy.rollouts.create- IAM-Berechtigung.

Sie können sogar eine manuelle Genehmigung für das erste Ziel erfordern. Wenn ein Release über die Befehlszeile für das erste Ziel erstellt wird, wird die rollout automatisch erstellt. Wenn eine Genehmigung erforderlich ist, erstellt Cloud Deploy den rollout, aber erst, wenn die Genehmigung erteilt wurde.

Nächste Schritte