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
-
Enable the Cloud Build 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:
Abre la página IAM en la consola de Google Cloud.
Haz clic en Otorgar acceso.
Verás el panel Otorgar acceso.
En la sección Agregar principales, agrega usuarios para otorgarles permiso. otorgar la aprobación para compilaciones pendientes dentro 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.
En la sección Asignar roles, 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
Console
Para aprobar una compilación pendiente en la consola de Google Cloud, sigue estos pasos:
Abre la página Panel de Cloud Build en la consola de Google Cloud.
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.
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.
En la parte superior de la página, haz clic en Aprobar para aprobar las compilaciones seleccionadas.
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.
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 La puerta de las compilaciones según 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 la organización
política para definir compilaciones para integraciones permitidas
(constraints/cloudbuild.allowedIntegrations
), se establecerá la política
anulará la aprobación. Para obtener más información, consulta cómo aplicar la organización
para compilar activadores.
Rechazar compilaciones
Console
Sigue estos pasos para rechazar una compilación pendiente en la consola de Google Cloud:
Abre la página del panel de Cloud Build en la consola de Google Cloud.
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.
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.
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:
Sigue las instrucciones de una de las siguientes páginas para configurar las notificaciones del servicio deseado:
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.
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?
- Aprende a crear y administrar activadores de compilación.
- Obtén más información sobre cómo ver los resultados de compilación de los activadores de compilación.