Promociona tu lanzamiento y administra las aprobaciones

En esta página, se describe cómo promover una versión existente de Cloud Deploy al siguiente destino en una progresión de canalización de entrega.

Antes de comenzar

En esta página, se da por sentado que ya creaste una versión.

Promueve la versión

Cuando tu versión se implementa en un destino definido en tu canalización de entrega, puedes ascenderla 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 entrega que usas para administrar 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 Canalizaciones de entrega.

  2. Haz clic en la canalización que se muestra en la lista de canalizaciones de entrega.

    En la página de detalles de la canalización de entrega, se muestra una representación gráfica del progreso de tu canalización de entrega.

    Visualización de la canalización de entrega en la consola de Google Cloud

  3. En el primer objetivo de la visualización de la canalización de entrega, haz clic en Promover.

    Se muestra el cuadro de diálogo Promocionar la versión. Muestra los detalles del objetivo para el que realizas la promoción.

  4. Haz clic en Promover.

Si la canalización de entrega o el destino cambiaron desde que se creó la versión, Cloud Deploy muestra un mensaje que indica una posible diferencia y te solicita que confirmes la promoción. Puedes responder n al mensaje y examinar las diferencias entre las versiones de la canalización antes de continuar. Si decides realizar la promoción de todos modos, la versión se implementará de acuerdo con la canalización de entrega, tal como se definió cuando se creó la versión. Consulta Instancias de canalización por versión para obtener más información sobre las discrepancias de canalización.

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

Visualización de la canalización de entrega en la consola de Google Cloud

Administra las aprobaciones de una canalización de entrega

Puedes requerir aprobación para cualquier destino y puedes aprobar o rechazar versiones en él.

Las aprobaciones se pueden administrar de manera programática si se integra el sistema de administración del flujo de trabajo (como ServiceNow) o algún otro sistema en Cloud Deploy mediante Pub/Sub y la API de Cloud Deploy.

Requiere aprobación

Para solicitar la aprobación de cualquier destino, configura requireApproval como true en la configuración de destino:

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

Consulta Configuración de la canalización de entrega para obtener más detalles.

Cuando un lanzamiento está pendiente de aprobación, los usuarios o sistemas que se suscriben al tema clouddeploy-approvals de Pub/Sub reciben la notificación y, luego, pueden aprobar o rechazar el lanzamiento.

Cuando usas la implementación paralela, puedes configurar los destinos múltiples para que requiera aprobación. Si se rechaza la promoción al destino, el lanzamiento del controlador falla, con un estado de APPROVAL_REJECTED, y no se crean los lanzamientos secundarios.

Aprobar o rechazar un lanzamiento

Cada destino puede requerir aprobación antes de que se implemente cualquier versión en él. Cuando realizas la promoción a un destino que requiere aprobación, Cloud Deploy publica un mensaje de Pub/Sub en el tema clouddeploy-approvals.

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

Cuando el sistema integrado de administración de flujos de trabajo haya recibido una notificación que requiere la aprobación mediante las notificaciones del servicio, puede aprobar o rechazar el lanzamiento con la API de Cloud Deploy.

Aprobar o rechazar manualmente

Consola

  1. En la consola de Google Cloud, navega a la página Canalizaciones de entrega de Cloud Deploy para ver la lista de las canalizaciones de entrega disponibles.

    Abrir la página Canalizaciones de entrega

    La lista de canalizaciones de entrega se muestra en la consola de Google Cloud. No se muestran las canalizaciones de entrega que se configuraron, pero que no se registraron con Cloud Deployservice.

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

    Se muestra la visualización de la canalización. Si la aprobación está pendiente y si tienes la función roles/clouddeploy.approver o permisos equivalentes, la visualización incluye un vínculo Review.

    Visualización de la canalización de entrega, con aprobación pendiente

  3. Haz clic en Revisar.

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

    Lanzamientos para esta canalización, con aprobación pendiente

  4. Haz clic en Revisar.

    Se muestra la pantalla de lanzamiento Aprobar.

    Detalles del lanzamiento
con aprobación pendiente

    En la pestaña Diferencia del manifiesto, se muestra cualquier cambio en el manifiesto procesado de la versión implementada actualmente (si existe) en la que estás aprobando (o rechazando) en la actualidad.

  5. Haz clic en Aprobar o Rechazar.

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

gcloud

Un usuario con la función roles/clouddeploy.approver puede aprobar o rechazar un lanzamiento de forma manual. Sigue estos pasos para aprobarlos:

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

Para rechazar, haz lo siguiente:

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