Promociona tu versión y administra las aprobaciones

En esta página, se describe cómo promocionar una versión existente de Cloud Deploy al siguiente destino en la progresión de una 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 objetivo:

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 quieres 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 publicó la versión. cuando se creó, 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 publicación.

    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 de la objetivo de la promoción.

  4. Haz clic en Ascender.

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 discrepancia y te solicita 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 eliges de todas formas, la versión se implementa de acuerdo con la canalización de entrega, 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 rollout para la versión en el destino de destino, y la versión se pone en cola para la implementación. Cuando se implementa, la visualización de la canalización de publicación 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 destino y aprobar o rechazar lanzamientos en ese objetivo.

Las aprobaciones se pueden administrar de forma programática integrando tu sistema de administración de flujos de trabajo (como ServiceNow) o cualquier otro sistema con Cloud Deploy a través de 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 publicación 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 y, luego, pueden aprobar o rechazar el lanzamiento.

Cuando usas la implementación paralela, puedes configurar el con varios destinos para requerir aprobación. Si se rechaza el ascenso al objetivo, el lanzamiento del controlador falla, con un estado de APPROVAL_REJECTED, y no se crean los lanzamientos secundarios.

Cómo aprobar o rechazar un lanzamiento

Cada destino puede requerir aprobación antes de que se le implemente una versión. Cuando asciende a un objetivo que requiere aprobación, Cloud Deploy publica un mensaje de Pub/Sub en el clouddeploy-approvals tema.

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

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

Aprueba o rechaza 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 consola de Google Cloud. Canalizaciones de entrega que se configuraron, pero no registradas con el servicio 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 si tener el rol roles/clouddeploy.approver o permisos equivalentes la visualización incluya 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 de esta canalización, con aprobación pendiente

  4. Haz clic en Revisar.

    Se mostrará la pantalla para aprobar lanzamiento.

    Detalles de la
lanzamiento con aprobación pendiente

    En la pestaña Manifest diff, se muestran los cambios realizados en el manifiesto renderizado desde la versión implementada actualmente (si corresponde) a la que estás aprobando (o rechazando).

  5. Haz clic en Aprobar o Rechazar.

    Si lo apruebas, tu aplicación se implementará en el destino. Si la rechazas, 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 aprobarlas, sigue estos pasos:

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

Sigue estos pasos para rechazar:

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