En este documento, se describe cómo verificar una implementación de Cloud Deploy.
Puedes configurar Cloud Deploy para verificar que una aplicación que implementaste en cualquier destino funcione correctamente. La verificación se realiza con tus propias imágenes de prueba, y configuras Cloud Deploy para que ejecute esas pruebas después de que finalice la implementación.
¿Cómo funciona la verificación de la implementación?
Puedes configurar uno o más destinos en tu canalización de entrega para la verificación de la implementación definiendo tareas para ejecutar.
Después de implementar una aplicación, Cloud Deploy ejecuta las tareas de verificación en el entorno de ejecución de Cloud Deploy.
El éxito o el fracaso de las pruebas ejecutadas indica el éxito o el fracaso de la verificación:
El éxito de la verificación se determina según el código de salida que genera el contenedor.
0indica que la operación se realizó correctamente. Un código de salida distinto de cero indica un error. Para generar el resultado de verificación esperado, asegúrate de que el contenedor salga con el código de salida adecuado. Si se ejecuta más de un contenedor como parte de la verificación, todos deben completarse correctamente para que la verificación se realice correctamente.Si falla la verificación, también fallará el lanzamiento.
Si una implementación falla durante la verificación, puedes inspeccionar el lanzamiento para ver el motivo:

Puedes ignorar o volver a intentar una verificación fallida.
También puedes finalizar un trabajo de verificación en curso.
Componentes que se usan para la verificación
El recurso rollout incluye los siguientes objetos, que admiten la verificación de la implementación:
Fase
Es la colección de operaciones (trabajos) en un lanzamiento que se agrupan de forma lógica, por ejemplo, una implementación o una implementación y verificación.
Trabajo
Operación específica que se realizará en un lanzamiento, como la implementación o la verificación.
Ejecución del trabajo
Es un elemento secundario del recurso de lanzamiento. La ejecución del trabajo es una instancia de un trabajo, por ejemplo, un intento de implementación.
Para obtener más información sobre los recursos de Cloud Deploy, consulta Arquitectura del servicio de Cloud Deploy.
Configura Cloud Deploy para la verificación de la implementación
Para habilitar la verificación de la implementación en un destino de Cloud Deploy, debes agregar una estrofa verify a un destino determinado (o a varios destinos) en una progresión de la canalización de entrega, como se muestra en este ejemplo:
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}
En este archivo YAML:
VERIFY_IMAGE
Es el nombre de la imagen que deseas ejecutar para el trabajo de verificación. Por ejemplo,
us-central1-docker.pkg.dev/gcp-project-id-12345/my-repository/my-app:v1.2para una imagen de Artifact Registry.COMMANDS_TO_RUN
Es una lista de puntos de entrada para ejecutar en ese contenedor.
"/bin/sh"es un comando típico que se puede especificar aquí para invocar un shell.LIST_OF_ARGS
Es una lista de argumentos que se proporcionan al comando. Es una lista separada por comas, con cada argumento entre comillas. Si tu COMMAND_TO_RUN es
"/bin/sh", uno de los argumentos aquí sería"-c", y otro argumento sería todo el comando que deseas ejecutar en el shell que invocas.Por ejemplo:
command: ["/bin/sh"] args: ["-c", `echo "This command ran!"`]VERIFY_TASK_ENV_MAP
Es un mapa de variables de entorno que se pasan al contenedor, en el formato
KEY:VAL.
La operación de verificación se ejecuta en su propio entorno de ejecución. Este entorno de ejecución se puede configurar para VERIFY de la misma manera que para RENDER y DEPLOY.
Ejecuta la verificación en el clúster de la aplicación
De forma predeterminada, la verificación de implementación se ejecuta en el entorno de ejecución de Cloud Deploy. También puedes configurar Skaffold para que ejecute la verificación en el mismo clúster en el que se ejecuta tu aplicación.
Para ejecutar tus contenedores de verificación en el clúster, debes configurarlos en la sección verify de tu skaffold.yaml. Para cada contenedor definido, también debes establecer executionMode.kubernetesCluster.
verify:
- name:
container:
name:
image:
command:
args:
executionMode:
kubernetesCluster:
A continuación, se muestra un ejemplo de una cláusula verify que incluye executionMode para invocar el contenedor de verificación en el clúster de la aplicación:
verify:
- name: integration-test-container
container:
name: integration-test-container
image: integration-test-container
executionMode:
kubernetesCluster: {}
Además, debes establecer la estrofa verify en true dentro de la configuración de tu canalización de entrega.
A continuación, se muestra un ejemplo de definición de una canalización de entrega en la que el destino dev tiene habilitada la verificación.
apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata: