Puerta se basa en la aprobación

Cloud Build te permite configurar activadores que no ejecutan una compilación de forma inmediata, sino que marcan una compilación como pendiente hasta que se apruebe. Si un usuario con permisos aprueba una compilación pendiente, la compilación comenzará. Si se rechaza la aprobación, la compilación no se iniciará.

En esta página, se explica cómo puedes aprobar o rechazar compilaciones de forma manual. Para aprender a configurar un activador que requiera aprobación, consulta Crea un activador de compilación.

Antes de comenzar

  • Habilita la API de Cloud Build.

    Habilita la API

  • Instala Google Cloud CLI.

  • Si aún no lo hiciste, crea un activador de compilación configurado para que requiera aprobación.

Otorgando permisos

Si un usuario tiene la función de editor de Cloud Build, tiene permisos para actualizar un activador a fin de que requiera o no aprobación. Para obtener más información sobre los permisos de Cloud Build, consulta IAM y los permisos. A fin de otorgar permiso a un usuario para aprobar compilaciones dentro de tu proyecto, el usuario debe tener la función Aprobador de Cloud Build.

Para agregar la función Responsable de aprobación de Cloud Build, haz lo siguiente:

  1. Abre la página IAM en la consola de Google Cloud.

    Abrir la página IAM

  2. Haz clic en Grant access.

    Verás el panel Otorgar acceso.

  3. En la sección Agregar principales, agrega usuarios a fin de darles permiso para otorgar aprobación para las compilaciones pendientes de tu proyecto.

    Debes agregar una o más principales en esta sección. Si te agregas como principal, ten en cuenta que aún deberás aprobar manualmente una compilación pendiente si tu activador está controlado por una aprobación.

  4. En la sección Asignar funciones, selecciona Cloud Build > Responsable de aprobación de Cloud Build.

Los usuarios que especificaste ahora tienen acceso para aprobar o rechazar compilaciones pendientes.

Aprobar compilaciones

Consola

Para aprobar una compilación pendiente en la consola de Google Cloud, sigue estos pasos:

  1. Abre la página Panel de Cloud Build en la consola de Google Cloud.

    Abrir la página del panel de Cloud Build

  2. Si tienes compilaciones que aprobarás, verás un mensaje en la parte superior de la página con la cantidad de compilaciones en espera de tu aprobación. A la derecha del mensaje, haz clic en Ver compilaciones para ver la lista de compilaciones en espera de tu aprobación.

  3. Haz clic en las casillas de verificación de las compilaciones que deseas aprobar. Puedes seleccionar varias compilaciones para aprobarlas o una compilación individual para aprobar.

  4. En la parte superior de la página, haz clic en Aprobar para aprobar las compilaciones seleccionadas.

  5. Antes de que comience la compilación, verás el cuadro de diálogo Aprobar compilación. En el cuadro de diálogo, puedes agregar un mensaje opcional y una URL que se mostrará junto con la aprobación de la compilación. Para incluir una URL, haz clic en Mostrar opciones adicionales para ingresar una URL.

  6. En el cuadro de diálogo, haz clic en Aprobar para aprobar la compilación.

Una vez que apruebes, la compilación comenzará de inmediato. Si la política de la organización (constraints/cloudbuild.allowedIntegrations) rechaza el acceso al repositorio conectado, la política anulará la aprobación. Para obtener más información, consulta Compilaciones de puerta en la política de la organización.

gcloud

Para aprobar una compilación pendiente con gcloud commands, ejecuta el siguiente comando en la ventana de tu terminal:

gcloud builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • BUILD_ID es el ID de la compilación que deseas aprobar.
  • PROJECT_ID es el ID del proyecto.
  • URL es la URL que contiene información sobre la aprobación, como un vínculo a un ticket de JIRA (opcional).
  • COMMENT es el mensaje que deseas que se muestre una vez que se apruebe la compilación (opcional).

Una vez que apruebes, la compilación comenzará de inmediato. Si se configura la política de la organización que define las compilaciones para las integraciones permitidas (constraints/cloudbuild.allowedIntegrations), la política anulará la aprobación. Si quieres obtener más información, consulta Aplica la política de la organización para compilar activadores.

Rechazar compilaciones

Consola

Para rechazar una compilación pendiente en la consola de Google Cloud, sigue estos pasos:

  1. Abre la página Panel de Cloud Build en la consola de Google Cloud.

    Abrir la página del panel de Cloud Build

  2. Si tienes compilaciones que aprobarás, verás un mensaje en la parte superior de la página con la cantidad de compilaciones en espera de tu aprobación. A la derecha del mensaje, haz clic en Ver compilaciones para ver la lista de compilaciones en espera de tu aprobación.

  3. Puedes seleccionar varias compilaciones para rechazarlas o una compilación individual para rechazarla. Haz clic en las casillas de verificación de las compilaciones que deseas rechazar.

  4. Haz clic en Rechazar en la parte superior de la página para rechazar la compilación.

Si rechazas una compilación, esta no se iniciará.

gcloud

Para rechazar una compilación pendiente con gcloud commands, ejecuta el siguiente comando en la ventana de tu terminal:

gcloud builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • BUILD_ID es el ID de la compilación que deseas rechazar.
  • PROJECT_ID es el ID del proyecto.
  • URL es la URL que contiene información sobre el rechazo, como un vínculo a un ticket de JIRA (opcional).
  • COMMENT es el mensaje que deseas que se muestre cuando se rechaza la compilación (opcional).

Si rechazas una compilación, esta nunca comenzará.

Recibe notificaciones de compilaciones en espera de aprobación

Puedes usar los notificadores de Cloud Build para recibir notificaciones sobre compilaciones pendientes mediante un notificador de Cloud Build mantenido, como Slack o SMTP, o mediante crea tu propio notificador.

Para configurar las notificaciones, haz lo siguiente:

  1. Sigue las instrucciones de una de las siguientes páginas para configurar las notificaciones del servicio deseado:

  2. Cuando configuras notificaciones con una de las páginas anteriores, debes configurar tu notificador para filtrar las compilaciones con un estado PENDING. Esto te enviará notificaciones sobre compilaciones que esperan su aprobación. En el siguiente ejemplo de archivo de configuración del notificador SMTP, el campo de filtro usa Common Expression Language (CEL) para filtrar eventos de compilación con un estado PENDING:

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Para ver el ejemplo, consulta el archivo de configuración del notificador para el notificador SMTP.

  3. Para implementar tu notificador, ejecuta el comando gcloud run en tu terminal. En el siguiente ejemplo, se implementa el notificador SMTP con Cloud Run.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Ahora deberías recibir notificaciones sobre las compilaciones pendientes en tu servicio.

¿Qué sigue?