Integrar Cloud Deploy con otros sistemas

Puedes integrar Cloud Deploy con algunos de los otros sistemas que usas para la distribución de software. En esta página se describe cómo integrar Cloud Deploy con lo siguiente:

  • Herramientas de prueba
  • Gestión de flujos de trabajo

Consulta Integrar con tu sistema de CI para saber cómo llamar a Cloud Deploy desde tu flujo de procesamiento de CI.

Antes de empezar

En las instrucciones de esta página se da por hecho que ya cumples las siguientes condiciones:

Integración con pruebas automatizadas

Puedes usar Cloud Deploy con Pub/Sub para integrar las pruebas en tu flujo de procesamiento de entrega, de forma que puedas promocionar la versión automáticamente para disfrutar de una entrega continua.

También puedes usar anotaciones en un lanzamiento para proporcionar un enlace a los resultados de las pruebas. Para obtener más información, consulta el artículo Usar etiquetas y anotaciones con Cloud Deploy.

Usar Pub/Sub para automatizar la promoción

  1. Escucha los mensajes de Pub/Sub del tema clouddeploy-operations.

    El mensaje contiene los siguientes atributos:

    • Action: SUCCEED
    • ResourceType: Rollout
    • Resource: projects/.../locations/.../deliveryPipelines/.../releases/.../rollouts/...
  2. Cuando recibas una notificación de que la implementación se ha realizado correctamente, ejecuta las pruebas en la aplicación implementada.

  3. Cuando las pruebas se realicen correctamente, llama a Cloud Deploy para que ascienda automáticamente a la siguiente fase:

    gcloud deploy releases promote RELEASE_NAME \
    --delivery-pipeline=PIPELINE_NAME \
    --region=REGION \
    --annotations=KEY=VALUE,...
    

    donde:

    • RELEASE_NAME

      es el nombre de la versión. Este valor es obligatorio.

    • PIPELINE_NAME

      es el nombre del flujo de procesamiento de entrega que gestiona esta versión. Este valor es obligatorio.

    • REGION

      es la región en la que se ejecuta la canalización. Si has definido la propiedad deploy/region, puedes omitir esta marca.

    • KEY=VALUE,...

      es una lista de uno o varios pares de cadenas clave-valor separados por comas que pueden contener información sobre los resultados de las pruebas y otra información relacionada con las pruebas. Veamos un ejemplo:

      gcloud deploy releases promote --annotations="from_target=test,status=stable"

      Las anotaciones de los lanzamientos son inmutables, por lo que, si añades una anotación de estado, no podrás actualizar ese estado en el mismo lanzamiento más adelante.

Usar anotaciones para proporcionar acceso a los resultados de las pruebas

Si tienes la URL que apunta a la ubicación donde se pueden consultar los resultados de la prueba, puedes proporcionarla como anotación en un lanzamiento mediante la marca --annotations. Veamos un ejemplo:

gcloud deploy releases promote --delivery-pipeline=my-demo-app-1 --region=us-central1 --project=my-demo-app-1-project --release=test-release-001