In diesem Dokument wird beschrieben, wie Sie eine Cloud Deploy-Bereitstellung prüfen.
Sie können Cloud Deploy so konfigurieren, dass überprüft wird, ob eine Anwendung, die Sie auf einem beliebigen Ziel bereitgestellt haben, ordnungsgemäß funktioniert. Die Überprüfung erfolgt mit Ihren eigenen Testbildern. Sie konfigurieren Cloud Deploy so, dass diese Tests nach Abschluss der Bereitstellung ausgeführt werden.
Wie funktioniert die Bereitstellungsüberprüfung?
Sie konfigurieren ein oder mehrere Ziele in Ihrer Bereitstellungspipeline für die Bereitstellungsüberprüfung, indem Sie Aufgaben definieren, die ausgeführt werden sollen.
Nachdem eine Anwendung bereitgestellt wurde, führt Cloud Deploy die Prüfaufgaben in der Cloud Deploy-Ausführungsumgebung aus.
Der Erfolg oder Misserfolg der ausgeführten Tests gibt den Erfolg oder Misserfolg der Überprüfung an:
Ob die Überprüfung erfolgreich ist, wird durch den Exit-Code des Containers bestimmt.
0weist auf einen Erfolg hin. Ein Exit-Code ungleich null weist auf einen Fehler hin. Damit das erwartete Bestätigungsergebnis generiert wird, muss der Container mit dem entsprechenden Exit-Code beendet werden. Wenn im Rahmen der Bestätigung mehrere Container ausgeführt werden, müssen alle erfolgreich ausgeführt werden, damit die Bestätigung erfolgreich ist.Wenn die Überprüfung fehlschlägt, schlägt auch die Einführung fehl.
Wenn eine Bereitstellung während der Überprüfung fehlschlägt, können Sie das anhand der Einführung sehen:

Sie können eine fehlgeschlagene Bestätigung ignorieren oder wiederholen.
Sie können auch einen laufenden Überprüfungsjob beenden.
Für die Überprüfung verwendete Komponenten
Die Rollout-Ressource enthält die folgenden Objekte, die die Bereitstellungsüberprüfung unterstützen:
Phase
Die Sammlung von Vorgängen (Jobs) in einem Rollout, die logisch gruppiert sind, z. B. ein Deployment oder ein Deployment und eine Überprüfung.
Job
Der spezifische Vorgang, der für einen Roll-out ausgeführt werden soll, z. B. „deploy“ (bereitstellen) oder „verify“ (überprüfen).
Jobausführung
Der Joblauf ist ein untergeordnetes Element der Rollout-Ressource und eine Instanz eines Jobs, z. B. ein Bereitstellungsversuch.
Weitere Informationen zu Cloud Deploy-Ressourcen finden Sie unter Cloud Deploy-Dienstarchitektur.
Cloud Deploy für die Bereitstellungsprüfung konfigurieren
Um die Bereitstellungsüberprüfung für ein Cloud Deploy-Ziel zu aktivieren, fügen Sie einer bestimmten Ziel- oder Zielgruppe in einer Delivery-Pipeline-Progression eine verify-Stanza hinzu, wie in diesem Beispiel gezeigt:
apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata:
name: my-demo-app
description: main application pipeline
serialPipeline:
stages:
- targetId: dev
profiles: []
strategy:
standard:
verify:
tasks:
- type: container
image: "VERIFY_IMAGE"
command: [COMMANDS_TO_RUN]
args: [LIST_OF_ARGS]
env: {VERIFY_TASK_ENV_MAP}
In diesem YAML-Code:
VERIFY_IMAGE
Ist der Name des Images, das Sie für den Prüfjob ausführen möchten. Beispiel:
us-central1-docker.pkg.dev/gcp-project-id-12345/my-repository/my-app:v1.2für ein Artifact Registry-Image.COMMANDS_TO_RUN
Eine Liste der Einstiegspunkte, die in diesem Container ausgeführt werden sollen.
"/bin/sh"ist ein typischer Befehl, der hier angegeben wird, um eine Shell aufzurufen.LIST_OF_ARGS
Eine Liste von Argumenten, die dem Befehl übergeben werden sollen. Dies ist eine durch Kommas getrennte Liste, wobei jedes Argument in Anführungszeichen gesetzt ist. Wenn Ihr COMMAND_TO_RUN
"/bin/sh"ist, wäre eines der Argumente hier"-c"und ein anderes Argument wäre der gesamte Befehl, den Sie in der Shell ausführen möchten, die Sie aufrufen.Beispiel:
command: ["/bin/sh"] args: ["-c", `echo "This command ran!"`]VERIFY_TASK_ENV_MAP
Eine Zuordnung von Umgebungsvariablen, die im Format
KEY:VALan den Container übergeben werden.
Der Überprüfungsvorgang wird in einer eigenen Ausführungsumgebung ausgeführt. Diese Ausführungsumgebung kann für VERIFY genauso konfiguriert werden wie für RENDER und DEPLOY.
Überprüfung für den Anwendungscluster ausführen
Die Bereitstellungsprüfung wird standardmäßig in der Cloud Deploy-Ausführungsumgebung ausgeführt. Sie können Skaffold auch so konfigurieren, dass die Überprüfung im selben Cluster ausgeführt wird, in dem Ihre Anwendung ausgeführt wird.
Damit Ihre Verifizierungscontainer im Cluster ausgeführt werden können, müssen Sie die Verifizierungscontainer im verify-Abschnitt in Ihrer skaffold.yaml konfigurieren. Für jeden definierten Container müssen Sie auch executionMode.kubernetesCluster festlegen.
verify:
- name:
container:
name:
image:
command:
args:
executionMode:
kubernetesCluster:
Das folgende Beispiel zeigt einen verify-Abschnitt, der executionMode enthält, um den Bestätigungscontainer im Anwendungscluster aufzurufen:
verify:
- name: integration-test-container
container:
name: integration-test-container
image: integration-test-container
executionMode:
kubernetesCluster: {}
Außerdem müssen Sie die verify-Stanza in der Konfiguration Ihrer Bereitstellungspipeline auf true setzen.
Im Folgenden finden Sie ein Beispiel für die Definition einer Bereitstellungspipeline, bei der die Überprüfung für das Ziel dev aktiviert ist.
apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata:
name: my-demo-app
description: main application pipeline
serialPipeline:
stages:
- targetId: dev
profiles: []
strategy:
standard: