Cloud Build te permite configurar activadores que no ejecutan una compilación inmediatamente, sino que marcan una compilación como pendiente hasta que se aprueba. Si un usuario con permisos aprueba una compilación pendiente, esta se iniciará. Si se deniega la aprobación, la compilación no se iniciará.
En esta página se explica cómo aprobar o rechazar compilaciones manualmente. Para saber cómo configurar un activador que requiera aprobación, consulta el artículo Crear un activador de compilación.
Antes de empezar
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
Instala Google Cloud CLI.
Si aún no lo has hecho, crea un activador de compilación configurado para requerir aprobación.
Concediendo permisos
Si un usuario tiene el rol Editor de Cloud Build, puede actualizar un activador para que requiera o no una aprobación. Para obtener más información sobre los permisos de Cloud Build, consulta Gestión de identidades y accesos y permisos. Para conceder permiso a un usuario para aprobar compilaciones en tu proyecto, el usuario debe tener el rol Aprobador de Cloud Build.
Para añadir el rol Aprobador de Cloud Build, sigue estos pasos:
Abre la página Gestión de identidades y accesos en la Google Cloud consola.
Haz clic en Conceder acceso.
Verás el panel Dar acceso.
En la sección Añadir principales, añade usuarios para darles permiso para aprobar compilaciones pendientes en tu proyecto.
Debes añadir uno o varios principales en esta sección. Si te añades como principal, ten en cuenta que tendrás que aprobar manualmente una compilación pendiente si tu activador está protegido por una aprobación.
En la sección Asignar roles, selecciona Cloud Build > Aprobador de Cloud Build.
Los usuarios que has especificado 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:
Abre la página Panel de control de Cloud Build en la Google Cloud consola.
Si tienes compilaciones que aprobar, verás un mensaje en la parte superior de la página con el número de compilaciones que están pendientes de tu aprobación. A la derecha del mensaje, haz clic en Ver compilaciones para ver la lista de compilaciones que están pendientes de tu aprobación.
Haz clic en las casillas de las compilaciones que quieras aprobar. Puedes seleccionar varias compilaciones para aprobarlas o una sola.
En la parte superior de la página, haz clic en Aprobar para aprobar las compilaciones seleccionadas.
Antes de que empiece la compilación, verás el cuadro de diálogo Aprobar compilación. En el cuadro de diálogo, puedes añadir un mensaje opcional y una URL que se mostrarán junto con la aprobación de la compilación. Para incluir una URL, haz clic en Mostrar opciones adicionales e introduce una URL.
En el cuadro de diálogo, haz clic en Aprobar para aprobar la compilación.
Una vez que lo apruebes, la compilación se iniciará inmediatamente. Si la política de la organización (constraints/cloudbuild.allowedIntegrations
) deniega el acceso al repositorio conectado, la política anulará la aprobación. Para obtener más información, consulta Gate builds on organization policy (Puerta de compilaciones 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
Sustituye los valores de los marcadores de posición de los comandos anteriores por los siguientes:
BUILD_ID
es el ID de la compilación que quieres aprobar.PROJECT_ID
es el ID del proyecto.- [Opcional]
URL
es la URL que contiene información sobre la aprobación, como un enlace a una incidencia de JIRA. - [Opcional]
COMMENT
es el mensaje que quieres que se muestre cuando se apruebe la compilación.
Una vez que lo apruebes, la compilación se iniciará inmediatamente. Si se define la política de la organización para definir compilaciones de integraciones permitidas (constraints/cloudbuild.allowedIntegrations
), esta política anulará la aprobación. Para obtener más información, consulta Aplicar políticas de la organización a los activadores de compilación.
Rechazar compilaciones
Consola
Para rechazar una compilación pendiente en la consola de Google Cloud :
Abre la página Panel de control de Cloud Build en la Google Cloud consola.
Si tienes compilaciones que aprobar, verás un mensaje en la parte superior de la página con el número de compilaciones que están pendientes de tu aprobación. A la derecha del mensaje, haz clic en Ver compilaciones para ver la lista de compilaciones que están pendientes de tu aprobación.
Puedes seleccionar varias compilaciones para rechazarlas o una compilación concreta. Marca las casillas de las compilaciones que quieras rechazar.
Haz clic en Rechazar en la parte superior de la página para rechazar la compilación.
Si rechazas una compilación, 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
Sustituye los valores de los marcadores de posición de los comandos anteriores por los siguientes:
BUILD_ID
es el ID de la compilación que quieres rechazar.PROJECT_ID
es el ID del proyecto.- [Opcional]
URL
es la URL que contiene información sobre el rechazo, como un enlace a una incidencia de JIRA. - [Opcional]
COMMENT
es el mensaje que quieres que se muestre cuando se rechace la compilación.
Si rechazas una compilación, nunca se iniciará.
Recibir notificaciones de compilaciones pendientes de aprobación
Puedes usar notificadores de Cloud Build para recibir notificaciones sobre compilaciones pendientes mediante un notificador mantenido por Cloud Build, como un servidor Slack o SMTP, o bien creando tu propio notificador.
Para configurar las notificaciones, sigue estos pasos:
Sigue las instrucciones de una de las páginas siguientes para configurar las notificaciones del servicio que quieras:
Cuando configures las notificaciones en una de las páginas anteriores, debes configurar tu notificador para que filtre las compilaciones con el estado PENDING. De esta forma, recibirás notificaciones sobre las compilaciones que estén pendientes de aprobación. En el siguiente ejemplo de archivo de configuración de notificador SMTP, el campo de filtro usa el lenguaje de expresión común (CEL) para filtrar los eventos de compilación con el 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 completo, consulta el archivo de configuración del notificador del notificador SMTP.
Para implementar tu notificador, ejecuta el comando
gcloud run
en tu terminal. En el siguiente ejemplo se despliega el notificador SMTP mediante 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 de las compilaciones pendientes en tu servicio.
Siguientes pasos
- Consulta cómo crear y gestionar activadores de compilación.
- Consulta cómo ver los resultados de las compilaciones de los activadores de compilación.