Promocionar una versión y gestionar aprobaciones

En esta página se describe cómo promover una versión de Cloud Deploy a la siguiente progresión de un flujo de procesamiento de entrega.

Antes de empezar

En esta página se da por hecho que ya has creado una versión.

Promocionar la versión

Cuando tu versión se implemente en un destino definido en tu canal de distribución, podrás promocionarla al siguiente destino:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

Donde:

RELEASE_NAME es el nombre de la versión que promocionas.

PIPELINE_NAME es el nombre de la canalización de distribución que usas para gestionar la implementación de esta versión.

REGION es el nombre de la región en la que se creó la versión, por ejemplo, us-central1. Este campo es obligatorio.

Consulta la referencia del SDK de Google Cloud para obtener más información sobre el comando gcloud deploy releases promote.

Consola

  1. Abre la página de canalizaciones de entrega.

  2. Haga clic en la canalización que aparece en la lista de canalizaciones de entrega.

    La página de detalles de la canalización de entrega muestra una representación gráfica del progreso de la canalización.

    Visualización del flujo de procesamiento de entrega en la consola Google Cloud

  3. En el primer objetivo de la visualización de la cadena de suministro, haga clic en Promocionar.

    Se muestra el cuadro de diálogo Promocionar lanzamiento. Muestra los detalles del objetivo que estás promocionando.

  4. Haz clic en Promocionar.

Si la canalización de lanzamiento o el destino han cambiado desde que se creó la versión, Cloud Deploy devuelve un mensaje que indica una posible incoherencia y te pide que confirmes la promoción. Puedes responder n a la petición y examinar las diferencias entre las versiones de la canalización antes de continuar. Si decides promocionarla de todos modos, la versión se implementará según la canalización de lanzamiento tal como se definió cuando se creó. Consulta Instancias de flujo de procesamiento por versión para obtener más información sobre las discrepancias de los flujos de procesamiento.

Cloud Deploy crea un rollout para la versión en el destino y la versión se pone en cola para el despliegue. Cuando se implementa, la visualización de la canalización de entrega muestra este hecho:

Visualización del flujo de procesamiento de entrega en la consola Google Cloud

Gestionar aprobaciones de un flujo de procesamiento de entrega

Puedes requerir aprobación para cualquier destino y aprobar o rechazar lanzamientos en ese destino.

Las aprobaciones se pueden gestionar de forma programática integrando tu sistema de gestión de flujos de trabajo (como ServiceNow) u otro sistema con Cloud Deploy mediante Pub/Sub y la API de Cloud Deploy.

Requerir aprobación

Para requerir aprobación en cualquier destino, asigna el valor true a requireApproval en la configuración del destino:

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

Consulte más información en el artículo sobre la configuración del flujo de procesamiento de entrega.

Cuando una publicación está pendiente de aprobación, los usuarios o sistemas que se suscriban al tema de Pub/Sub clouddeploy-approvals recibirán una notificación del tema clouddeploy-approvals y podrán aprobar o rechazar la publicación.

Si usas la implementación paralela, puedes configurar la segmentación por varios criterios para requerir aprobación. Si se rechaza la promoción al destino, la implementación del controlador falla, con un estado de APPROVAL_REJECTED, y no se crean las implementaciones secundarias.

Aprobar o rechazar un lanzamiento

Cualquier usuario o cuenta de servicio con el rol roles/clouddeploy.approver puede aprobar un lanzamiento de Cloud Deploy en un destino que requiera aprobación.

Tu sistema de gestión de flujo de trabajo integrado, tras recibir una notificación que requiere aprobación mediante las notificaciones de servicio, puede aprobar o rechazar el lanzamiento mediante la API de Cloud Deploy.

Aprobar o rechazar manualmente

Consola

  1. En la Google Cloud consola, ve a la página Pipelines de entrega de Cloud Deploy para ver una lista de los pipelines de entrega disponibles.

    Abre la página Pipelines de entrega.

    La lista de canales de distribución se muestra en la Google Cloud consola. No se muestran las canalizaciones de entrega que se han configurado, pero no se han registrado en el servicio Cloud Deploy.

  2. Haga clic en el nombre de la canalización de entrega.

    Se muestra la visualización del flujo de procesamiento. Si la aprobación está pendiente y tienes el rol roles/clouddeploy.approver o permisos equivalentes, la visualización incluye un enlace Revisar.

    Visualización del flujo de procesamiento de entrega con aprobación pendiente

  3. Haga clic en Revisión.

    Se muestra una lista de lanzamientos pendientes de aprobación.

    Lanzamientos de esta
pipeline, con aprobación pendiente

  4. Haga clic en Revisión.

    Se muestra la pantalla Aprobar lanzamiento.

    Detalles del lanzamiento con aprobación pendiente

    La pestaña Diferencia del manifiesto muestra los cambios realizados en el manifiesto renderizado desde la versión implementada actualmente (si la hay) hasta la que estás aprobando (o rechazando).

  5. Haz clic en Aprobar o en Rechazar.

    Si lo apruebas, tu aplicación se implementará en el destino. Si rechazas la solicitud, la aplicación no se implementará y no se podrá aprobar más adelante a menos que se vuelva a promocionar.

gcloud

Un usuario con el rol roles/clouddeploy.approver puede aprobar o rechazar manualmente un lanzamiento. Para aprobarlo, haz lo siguiente:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

Para rechazarla, sigue estos pasos:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name