Lieferpipeline und Ziele erstellen

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

Bereitstellungspipeline 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 Bereitstellungspipeline und die Zieldefinitionsdatei(en) erstellt haben, führen Sie gcloud deploy apply für jede dieser Dateien aus, um sie als Cloud Deploy-Ressourcen zu registrieren.

Bereitstellungspipeline und -ziele definieren

Die Struktur der Bereitstellungspipeline und der Zielkonfigurationsdateien 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

Sie können mit der Google Cloud Console eine neue Bereitstellungspipeline und ein neues Ziel bzw. neue Ziele erstellen. Dies ist zum Testen von Cloud Deploy nützlich, 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 Bereitstellungspipelines auf Erstellen.

  2. Geben Sie einen Namen und optional eine Beschreibung an (oder behalten Sie den Standardwert bei).

  3. Wählen Sie Ihre Region aus.

  4. Wählen Sie Ihre Laufzeitumgebung aus.

    Wählen Sie für GKE Google Kubernetes Engine oder Cloud Run aus, wenn das die Laufzeit ist, in der Sie die Bereitstellung vornehmen.

  5. Geben Sie unter Neues Ziel einen Namen ein oder behalten Sie den Standardwert bei.

  6. Wenn Sie für dieses Ziel eine Genehmigung anfordern möchten, klicken Sie auf das Kästchen Genehmigung für Roll-outs erforderlich.

  7. Wenn Sie für dieses Ziel eine Canary-Deployment-Strategie verwenden, 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 zusätzliche Ziel aus, das Sie erstellen möchten.

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

Bereitstellungspipeline und -ziele registrieren

Wenn Sie die Pipeline und Ziele mit der Google Cloud Console erstellt haben, müssen Sie dies nicht tun.

Wenn Sie Ihre Bereitstellungspipeline bei Cloud Deploy registrieren möchten, führen Sie gcloud deploy apply einmal für jede separate Definitionsdatei 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, sodass Sie vier Befehle ausführen:

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 Flag --region ist erforderlich, es sei denn, Sie haben mit gcloud config set deploy/region [REGION] eine Standardeinstellung festgelegt. Die Region muss für die Bereitstellungspipeline und alle Ziele, auf die diese Pipeline verweist, identisch sein.

Bereitstellungspipeline und Ziele mit Terraform erstellen

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

Der Terraform-Anbieter für die Google Cloud-Betaversion kann in der Vorabversion Cloud Deploy-Funktionen unterstützen.

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 verlangen

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.

Es ist sogar möglich, dass für das erste Ziel eine manuelle Genehmigung erforderlich ist. Wenn ein Release über die Befehlszeile erstellt wird, wird rollout für das erste Ziel automatisch erstellt. Wenn eine Genehmigung erforderlich ist, erstellt Cloud Deploy das rollout. Er befindet sich jedoch im Status „Veröffentlichung ausstehend“, bis die Genehmigung erteilt wird.

Nächste Schritte