Almacena y administra registros de compilación

Cuando ejecutas compilaciones, Cloud Build recopila y almacena los registros de compilación. En esta página, se explica cómo almacenar, ver y borrar registros de compilación.

Elige dónde almacenar los registros de compilación

Puedes configurar Cloud Build para almacenar registros de compilación en Cloud Logging o Cloud Storage si incluyes el campo logging en el archivo de configuración de Cloud Build. Si no especificas un campo logging en el archivo de configuración de compilación, Cloud Build almacena los registros de compilación en Logging y Cloud Storage.

En los siguientes pasos, se almacenan registros de compilación solo en Logging:

  1. En tu archivo de configuración de compilación, establece el valor de logging como CLOUD_LOGGING_ONLY:

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.']
    options:
      logging: CLOUD_LOGGING_ONLY
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/cloud-builders/docker",
        "args": [
          "build",
          "-t",
          "us-east1-docker.pkg.dev/myproject/myimage",
          "."
        ]
      }
      ],
      "options": {
        "logging": "CLOUD_LOGGING_ONLY"
      }
    }
    
  2. 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.

Almacenar registros de compilación en el bucket predeterminado creado por Google

De forma predeterminada, Cloud Build almacena tus registros de compilación en un bucket de Cloud Storage creado por Google. Puedes ver registros de compilación almacenados en el bucket de Cloud Storage creado por Google, pero no puedes realizar ningún otro cambio. Si necesitas control total sobre tu bucket de registros, almacena los registros en un bucket de Cloud Storage creado por el usuario.

Almacenar registros de compilación en un bucket creado por el usuario

Permisos de IAM:

Para almacenar registros de compilación en tu propio bucket de Cloud Storage, primero debes otorgar los permisos de IAM necesarios a la cuenta de servicio de Cloud Build o a la cuenta de servicio especificada por el usuario:

  • Si tu bucket de Cloud Storage y Cloud Build están en el mismo proyecto de Google Cloud y usas la cuenta de servicio de Cloud Build, esta última tiene los permisos de IAM necesarios de forma predeterminada. No es necesario otorgar permisos adicionales.

  • Si el bucket de Cloud Storage y Cloud Build están en el mismo proyecto de Google Cloud y usas una cuenta de servicio especificada por el usuario, otorga el rol de Administrador de almacenamiento a la cuenta de servicio. Si deseas obtener instrucciones para otorgar una función a una cuenta de servicio, consulta Otorga funciones en el proyecto.

  • Si el bucket de Cloud Storage y Cloud Build están en diferentes proyectos de Google Cloud, otorga la función de Administrador de almacenamiento a la cuenta de servicio de Cloud Build:

    1. Abrir la página de IAM

      Abrir la página IAM

    2. Selecciona el proyecto en el que ejecutas las compilaciones con Cloud Build.

    3. En la tabla de permisos, ubica la dirección de correo electrónico que termina en @cloudbuild.gserviceaccount.com y anótala. Esta es tu cuenta de servicio de Cloud Build.

    4. Abre la página de IAM en el proyecto en el que se encuentra tu bucket de Cloud Storage:

      Abrir la página IAM

    5. Haz clic en Otorgar acceso.

    6. Ingresa la dirección de correo electrónico de la cuenta de servicio de Cloud Build.

    7. Selecciona Cloud Storage > Administrador de almacenamiento.

    8. Haz clic en Guardar.

Para especificar un depósito de Cloud Storage a fin de almacenar registros de compilación sigue estos pasos:

  1. En tu proyecto de Google Cloud, crea un bucket de Cloud Storage sin una política de retención establecida para almacenar tus registros de compilación.

  2. En tu archivo de configuración de compilación , agrega un campo logsBucket que 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 llamado mylogsbucket:

    YAML

        steps:
        - name: 'gcr.io/cloud-builders/docker'
          args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
        options:
          logging: GCS_ONLY
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "us-east1-docker.pkg.dev/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket",
           "options": {
             "logging": "GCS_ONLY"
           }
        }
    
  3. 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 en el bucket de Cloud Storage que especificaste en el archivo de configuración de compilación.

Almacena registros de compilación en un bucket regionalizado y propiedad del usuario

De forma predeterminada, Cloud Build almacena los registros de compilación en una región especificada por Google que puede ser diferente de la ubicación en la que ejecutas una compilación. La opción defaultLogsBucketBehavior te permite configurar Cloud Build para usar un bucket de registros predeterminado dentro de tu propio proyecto y en la misma región que la compilación. Esta configuración te brinda más control sobre la ubicación de los datos de tus registros, lo que puede ayudarte a cumplir con los requisitos de residencia de los datos.

Se te cobrará por almacenar registros en tu propio proyecto. Para obtener más información, consulta Precios de Cloud Storage.

Configura Cloud Build para usar registros regionalizados propiedad del usuario:

  1. Otorga los permisos de IAM necesarios.

    • Si usas la cuenta de servicio de Cloud Build, esta tiene los permisos de IAM necesarios de forma predeterminada. No es necesario que otorgues ningún permiso adicional.

    • Si usas una cuenta de servicio especificada por el usuario, otorga el rol de Administrador de almacenamiento a la cuenta de servicio. Si quieres obtener instrucciones para otorgar un rol a una cuenta de servicio, consulta Otorga funciones en el proyecto.

  2. En tu configuración de compilación, agrega la opción defaultLogsBucketBehavior y establece su valor en REGIONAL_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_BUCKET
    

    JSON

    {
      "steps": [
        {
          "name": "gcr.io/cloud-builders/docker",
          "args": [
            "build",
            "-t",
            "us-central1-docker.pkg.dev/myproject/myrepo/myimage",
            "."
          ]
        }
        ],
        "options": {
          "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET"
        }
    }
    
  3. Usa el archivo de configuración de compilación para iniciar una compilación mediante la línea de comandos, la API o activadores.

    Cuando ejecutas tu compilación, Cloud Build crea el nuevo bucket de registros en la región en la que estás ejecutando tu compilación y, luego, almacena los registros de compilación en ese bucket. Las compilaciones posteriores en el mismo proyecto y región usarán el bucket existente de forma predeterminada.

Si configuras la opción defaultLogsBucketBehavior y, luego, creas compilaciones en varias regiones, Cloud Build crea varios buckets para tus registros de compilación.

Los registros de compilación regionalizados que se almacenan en tu propio proyecto no tienen una política de retención. Este parámetro de configuración es inmutable.

Prioridad entre la configuración de los registros

Si agregas la opción defaultLogsBucketBehavior a un archivo de configuración de compilación existente y ya configuraste las opciones logging o logsBucket, te recomendamos que borres esa configuración para evitar conflictos entre ellas.

Específicamente, defaultLogsBucketBehavior no funcionará si lo configuras:

  • logging: CLOUD_LOGGING_ONLY para almacenar los registros de compilación en Cloud Logging
  • logging: NONE para desactivar el registro.

Cuando ejecutas una compilación sin opciones de registro definidas en tu configuración de compilación, Cloud Build configura logging: LEGACY y almacena los registros en el bucket de Cloud Storage predeterminado creado por Google. Si agregas defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET, esta opción anula logging: LEGACY.

Ver registros de compilación

Permisos de IAM:

  • Si tus registros de compilación están en Logging, otorga la función visualizador de registros en el proyecto en el que la compilación está configurada para los principales que desean ver los registros de compilación:

    1. Abrir la página de IAM

      Abrir la página IAM

    2. Selecciona tu proyecto y haz clic en Open.

    3. En la tabla de permisos, busca el ID del correo electrónico del principal y haz clic en el ícono de lápiz.

    4. Selecciona la función Logging > Visor de registros.

    5. Haz clic en Guardar.

  • Si tus registros de compilación están en el depósito predeterminado de Cloud Storage creado por Google, otorga la función visualizador del proyecto en el proyecto en el que la compilación está configurada para los principales que desean ver los registros de compilación:

    1. Abrir la página de IAM

      Abrir la página IAM

    2. Selecciona tu proyecto y haz clic en Open.

    3. En la tabla de permisos, busca el ID del correo electrónico del principal y haz clic en el ícono de lápiz.

    4. Selecciona la función Proyecto Visualizador.

    5. Haz clic en Guardar.

    Si tus registros de compilación están en un bucket de Cloud Storage creado por el usuario o propiedad del usuario, otorga la función de Visualizador de objetos de Storage a las principales que deseen ver los registros de compilación:

    1. Abrir la página de IAM

      Abrir la página IAM

    2. Selecciona tu proyecto y haz clic en Open.

    3. En la tabla de permisos, busca el ID del correo electrónico del principal y haz clic en el ícono de lápiz.

    4. Selecciona la función Cloud Storage > Visualizador de objetos de almacenamiento.

    5. Haz clic en Guardar.

Para ver los registros de compilación en Cloud Build, sigue estos pasos:

Console

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

    Abrir la página de Cloud Build

  2. Selecciona tu proyecto y haz clic en Open.

  3. En el menú desplegable Región, selecciona la región para tu compilación.

  4. En la página Historial de compilación, haz clic en una compilación específica.

  5. En la página Compilar detalles, en Pasos, haz clic en Compilar resumen para ver los registros de compilación de toda tu compilación o haz clic en un paso de compilación para ver registros de compilación para ese paso.

    Captura de pantalla de los registros de compilación en la página de detalles de compilación

  6. Si tus registros 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.

    Captura de pantalla de los registros de compilación 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

Para ver los registros de compilación en GitHub y GitHub Enterprise, haz lo siguiente:

Si creas un GitHub o un activador de GitHub Enterprise y especificas --include-logs-with-status como opción, podrás ver tus registros de compilación en GitHub y GitHub Enterprise.

Para ver los registros de compilación en GitHub y GitHub Enterprise, haz lo siguiente:

  1. Navega al repositorio asociado con tu activador.

  2. Navega a tu lista de confirmaciones.

  3. Ubica la fila de la confirmación de la que deseas ver los registros de compilación.

  4. Haz clic en el ícono del resultado en la fila de la confirmación.

    Verás una lista de verificaciones asociadas con tu confirmación.

  5. Haz clic en Detalles en la fila para la que deseas ver los registros de compilación.

    Verás la página Summary asociada con la confirmación. Si creaste un activador con la marca --include-logs-with-status, se mostrarán tus registros de compilación en la sección Detalles de la página.

Borra registros de compilación

No puedes borrar los registros de compilación en el bucket de registros creado por Google.

Para borrar registros de compilación en un bucket de registros creado por el usuario, haz lo siguiente:

  1. Otorga la función administrador de objetos de almacenamiento al usuario o a la cuenta de servicio que borra los registros.

  2. Borra los registros de compilación con las instrucciones para borrar objetos de Cloud Storage en Borra objetos.

Para borrar el bucket de registros creado por el usuario, haz lo siguiente:

  1. Otorga la función administrador de almacenamiento al usuario o a la cuenta de servicio que borra el bucket de registros.

  2. Borra el bucket de registros con las instrucciones para borrar un bucket en Borra buckets.

¿Qué sigue?