Configura tu archivo de configuración de compilación para almacenar tus registros de compilación en buckets de registros, de modo que puedas agruparlos y analizarlos con las herramientas de Cloud Logging y Cloud Storage. Configurar el almacenamiento de los registros de compilación te permite tener un mayor control sobre el almacenamiento y el análisis de tus registros. Si no defines la configuración de almacenamiento de registros de compilación, Cloud Build los almacenará en un bucket propiedad de Google Cloudcon menos opciones para el análisis de registros de compilación.
En esta página, se describe cómo almacenar registros de compilación en diferentes tipos de buckets y cómo ver y borrar los registros almacenados.
Antes de comenzar
Asegúrate de conocer las opciones del archivo de configuración de compilación para configurar el almacenamiento de registros de compilación y cómo la propiedad del bucket afecta la accesibilidad a los registros. Para obtener más información, consulta Opciones de almacenamiento de registros de compilación.
Almacenar registros de compilación en buckets creados por el usuario
Los buckets creados por el usuario te brindan un mayor control sobre la administración y configuración de tus buckets.
Almacena registros de compilación en un bucket de Cloud Logging creado por el usuario
Los buckets de Logging creados por el usuario te permiten ajustar el período de retención de los registros de compilación almacenados. Para almacenar tus registros de compilación en un bucket creado por el usuario en Logging, haz lo siguiente:
Otorga permisos de IAM:
Para obtener los permisos que necesitas para almacenar registros de compilación en un bucket de Cloud Logging creado por el usuario, pídele a tu administrador que te otorgue el rol de IAM de Escritor de configuración de registros (roles/logging.configWriter) en la cuenta o la cuenta de servicio de tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura el bucket de Logging:
Crea un bucket y establece un valor para el campo Período de retención.
Crea un receptor para enrutar tus registros de compilación a tu bucket nuevo:
Ingresa lo siguiente para el filtro de inclusión de compilación de tu receptor:
logName = "projects/PROJECT_ID/logs/cloudbuild"Reemplaza PROJECT-ID por el ID del proyecto de Google Cloud .
(Opcional) Para evitar que tus registros de compilación se envíen al bucket de Logging predeterminado, sigue el ejemplo en Cómo dejar de almacenar entradas de registro en buckets de registros.
Almacena registros de compilación en un bucket de Cloud Storage creado por el usuario
Para almacenar tus registros de compilación en un bucket de Cloud Storage creado por el usuario, haz lo siguiente:
Otorga permisos de IAM:
Si tu bucket de Cloud Storage y Cloud Build están en el mismo proyecto Google Cloud y usas la cuenta de servicio heredada de Cloud Build, tu cuenta de servicio heredada de Cloud Build tiene los permisos de IAM necesarios de forma predeterminada. No es necesario otorgar permisos adicionales. De lo contrario, haz lo siguiente:
Para obtener los permisos que necesitas para almacenar registros de compilación en un bucket de Cloud Storage creado por el usuario,
pídele a tu administrador que te otorgue el rol de IAM de
Administrador de almacenamiento (roles/storage.admin) en la cuenta de servicio que se usa para tu compilación.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura el bucket de Cloud Storage:
En tu proyecto Google Cloud , crea un bucket de Cloud Storage sin una política de retención establecida para almacenar tus registros de compilación.
En tu archivo de configuración de compilación , agrega un campo
logsBucketque apunte al bucket de Cloud Storage que creaste para almacenar registros de compilación. En el siguiente archivo de configuración de compilación de ejemplo, se incluyen instrucciones para compilar una imagen de contenedor y almacenar los registros de compilación en un bucket llamadomylogsbucket:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ] logsBucket: 'gs://mylogsbucket' options: logging: GCS_ONLYJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-east1-docker.pkg.dev/myproject/myimage", "." ] } ], "logsBucket": "gs://mylogsbucket", "options": { "logging": "GCS_ONLY" } }Usa el archivo de configuración de compilación para iniciar una compilación con la línea de comandos, la API o los activadores.
Cuando se completa la compilación, Cloud Build almacena los registros de compilación en el bucket de Cloud Storage que especificaste en el archivo de configuración de compilación.
Almacena registros de compilación en buckets de Cloud Storage específicos de la región
Puedes configurar tu compilación para que Cloud Build envíe registros de compilación a un bucket de Cloud Storage propiedad del usuario en la misma región que tu compilación. Alinear las regiones de tu compilación y el bucket de almacenamiento de registros de compilación puede ayudarte a cumplir con los requisitos de residencia de datos.
Otorga permisos de IAM:
Si tu bucket de Cloud Storage y Cloud Build están en el mismo proyecto Google Cloud y usas la cuenta de servicio heredada de Cloud Build, esa cuenta de servicio tiene los permisos de IAM necesarios de forma predeterminada. No es necesario otorgar permisos adicionales. De lo contrario, haz lo siguiente:
Para obtener los permisos que necesitas
para almacenar registros de compilación en un bucket específico de la región y propiedad del usuario,
pídele a tu administrador que te otorgue el rol de IAM de
Administrador de almacenamiento (roles/storage.admin) en la cuenta de servicio que se usa para tu compilación.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura el bucket de Cloud Storage específico de la región:
En tu archivo de configuración de compilación, agrega la opción
defaultLogsBucketBehaviory establece su valor enREGIONAL_USER_OWNED_BUCKET:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ] options: defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKETJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/myproject/myrepo/myimage", "." ] } ], "options": { "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET" } }Usa el archivo de configuración de compilación para iniciar una compilación con la línea de comandos, la API o los activadores.
Cuando ejecutas la compilación, Cloud Build crea el bucket nuevo en la región en la que ejecutas la compilación y, luego, almacena los registros de compilación en este bucket. Las compilaciones posteriores en el mismo proyecto y región usarán el bucket existente siempre que
REGIONAL_USER_OWNED_BUCKETesté activo. Este bucket es propiedad del usuario, por lo que puedes configurarlo como si fuera un bucket creado por el usuario.Si configuras la opción
REGIONAL_USER_OWNED_BUCKETy creas compilaciones en varias regiones, Cloud Build creará un bucket de Cloud Storage para cada región única.
También puedes usar un bucket creado por el usuario si necesitas alinear la región de tu compilación y el bucket de registros. En este caso, puedes seleccionar un bucket existente creado por el usuario que tenga la misma región o crear uno. Si deseas crear uno, sigue los pasos para almacenar registros de compilación en buckets creados por el usuario y asegúrate de que tu bucket creado por el usuario tenga la misma región que tu compilación.
Visualizar registros de compilación
Para ver los registros de compilación, haz lo siguiente:
Otorga permisos de IAM:
Para obtener los permisos que necesitas para ver los registros de compilación en Cloud Storage o Logging, pídele a tu administrador que te otorgue los siguientes roles de IAM en la cuenta de servicio que se usa para tu compilación:
-
Visualiza los registros de compilación en un bucket de Cloud Storage creado por el usuario o de su propiedad:
- Visualizador de objetos de Storage (
roles/storage.objectViewer): Son las principales que desean ver los registros de compilación. - Descriptor de acceso de vista de registros (
roles/logging.viewAccessor): Son las entidades principales que desean ver los registros de compilación.
- Visualizador de objetos de Storage (
-
Visualiza los registros de compilación en el bucket predeterminado de Cloud Storage:
Visualizador (
roles/viewer): El proyecto en el que se configura la compilación -
Visualiza los registros de compilación en Logging:
Visualizador de registros (
roles/logging.viewer): Son las entidades principales que desean ver los registros de compilación.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Visualiza registros de compilación en Google Cloud
Console
Abre la página de Cloud Build en la Google Cloud consola.
Selecciona tu proyecto y haz clic en Open.
En el menú desplegable Región, selecciona la región para tu compilación.
En la página Historial de compilación, selecciona una compilación específica.
En la página Detalles de compilación, en Pasos, haz clic en Resumen de compilación para ver los registros de compilación de toda tu compilación o selecciona un paso de compilación para ver los registros de compilación de ese paso.
Si tus registros de compilación se almacenan en Logging, en el panel Registro de compilación, haz clic en el ícono para ver los registros en el Explorador de registros.
gcloud
Ejecuta el comando gcloud builds log, en el que build-id es el ID de la compilación para la que deseas obtener registros de compilación. El ID de compilación se muestra al final del proceso de envío de la compilación cuando ejecutas gcloud builds submit o en la columna de ID cuando ejecutas gcloud builds list.
gcloud builds log build-id
Cómo ver los registros de compilación en GitHub y GitHub Enterprise
Si creas un activador de GitHub o GitHub Enterprise con la gcloud CLI o la API de Cloud Build, y especificaste --include-logs-with-status como una opción, puedes ver los registros de compilación en GitHub y GitHub Enterprise.
Para ver los registros de compilación en GitHub y GitHub Enterprise, haz lo siguiente:
Navega al repositorio asociado con tu activador.
Navega a tu lista de confirmaciones.
Ubica la fila de la confirmación para la que deseas ver los registros de compilación.
Haz clic en el ícono de resultado en la fila de tu confirmación.
Verás una lista de las verificaciones asociadas a tu confirmación.
Haz clic en Detalles en la fila de la que deseas ver los registros de compilación.
Verás la página Resumen asociada a tu confirmación. Si creaste un activador con la marca
--include-logs-with-status, verás los registros de compilación en la sección Detalles de la página.
Borra registros y buckets de compilación
Para obtener los permisos que necesitas para borrar registros de compilación y buckets en Cloud Storage, pídele a tu administrador que te otorgue los siguientes roles de IAM en la cuenta de servicio que se usa para tu compilación:
-
Borra los registros de compilación en un bucket de Cloud Storage creado por el usuario o propiedad del usuario:
Administrador de almacenamiento (
roles/storage.admin): Es el usuario o la cuenta de servicio que borra los registros de compilación. -
Borra un bucket de Cloud Storage creado o propiedad del usuario:
Administrador de almacenamiento (
roles/storage.admin): El usuario o la cuenta de servicio que borra buckets -
Borra un bucket de Logging creado por el usuario:
Escritor de configuración de registros (
roles/logging.configWriter) - tu proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para borrar registros de compilación en un bucket de Cloud Storage creado por el usuario o de su propiedad, sigue las instrucciones en Borra objetos en la documentación de Cloud Storage.
Para borrar un bucket de Cloud Storage creado o propiedad del usuario, sigue las instrucciones en Borra buckets en la documentación de Cloud Storage.
Para borrar un bucket de Logging creado por el usuario, sigue las instrucciones en Borra un bucket en la documentación de Logging.
¿Qué sigue?
- Obtén más información sobre los registros de auditoría creados por Cloud Build.
- Aprende a ver resultados de compilación.
- Obtén más información sobre los permisos de IAM de Cloud Build.