Promociona tu versión 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 la canalización de entrega.

Antes de comenzar

En esta página, se supone 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 promoverla al siguiente destino:

gcloud

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

Aquí:

RELEASE_NAME es el nombre de la versión que promocionarás.

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.

Console

  1. Abre la página Canalizaciones de entrega.

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

    La página Detalles de la canalización de entrega 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 destino al que promocionarás.

  4. Haz clic en Ascender.

Si la canalización de entrega o el destino cambiaron desde que se creó la versión, Cloud Deploy mostrará un mensaje que indica una posible discrepancia y te pedirá que confirmes la promoción. Puedes responder n a la instrucción y examinar las diferencias entre las versiones de la canalización antes de continuar. Si decides promover la versión de todos modos, se implementará según 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 en las canalizaciones.

Cloud Deploy crea un objeto rollout para la versión en el 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 solicitar aprobación para cualquier objetivo y aprobar o rechazar los lanzamientos en ese objetivo.

Las aprobaciones se pueden administrar de forma programática integrando tu sistema de administración de flujo de trabajo (como ServiceNow) o cualquier otro sistema con Cloud Deploy a través de Pub/Sub y la API de Cloud Deploy.

Requerir 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 de Pub/Sub clouddeploy-approvals reciben una notificación del tema clouddeploy-approvals y, luego, pueden aprobar o rechazar el lanzamiento.

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

Cómo 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 integrado de administración de flujos de trabajo, después de recibir una notificación de aprobación obligatoria con las notificaciones de servicio, puede aprobar o rechazar el lanzamiento con la API de Cloud Deploy.

Aprobar o rechazar manualmente

Console

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

    Abrir la página Canalizaciones de entrega

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

  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 tienes el rol de roles/clouddeploy.approver o permisos equivalentes, la visualización incluye un vínculo Revisar.

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

  3. Haz clic en Revisar.

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

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

  4. Haz clic en Revisar.

    Se muestra la pantalla Approve rollout.

    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 apruebas la solicitud, la aplicación se implementará en el destino. Si rechazas la solicitud, no se implementará y no se podrá aprobar más adelante, a menos que se vuelva a promocionar.

gcloud

Un usuario con el rol de roles/clouddeploy.approver puede aprobar o rechazar manualmente una versión. Para aprobar, haz lo siguiente:

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

Para rechazar la solicitud, haz lo siguiente:

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