Ver resultados de compilación

En esta página, se explica cómo ver información de tus compilaciones de Cloud Build mediante Google Cloud Console, la herramienta de línea de comandos de gcloud y la API de Cloud Build.

Antes de comenzar

Si deseas usar los ejemplos de la línea de comandos de esta guía, instala la herramienta de línea de comando de gcloud.

Ver resultados de compilación

Para ver los registros de compilación, los miembros del proyecto requieren uno de los siguientes permisos de IAM, además de los permisos de IAM de Cloud Build:

A fin de obtener más información sobre los permisos necesarios para ver los registros de compilación, consulta Visualiza registros de compilación.

Console

En Cloud Console, en el menú Historial de compilación, podrás ver información del estado de una compilación (ya sea correcto o con error), la fuente, los resultados, la fecha de creación, las imágenes y mucho más.

Para ver el menú Historial de compilación, abre la página Historial de compilación en Google Cloud Console:

Abrir la página Historial de compilación

Se muestra la página de Historial de compilación, que contiene una lista de tus compilaciones recientes.

Para filtrar compilaciones por región, usa el menú desplegable Región en la parte superior de la página y elige la región que deseas filtrar. Solo puedes filtrar compilaciones regionalizadas asociadas con implementaciones de Cloud Functions.

Para filtrar compilaciones, usa el cuadro de texto Filtrar compilaciones que se encuentra en la parte superior de la página o ingresa una consulta de forma manual.

Para ver columnas adicionales, como Descripción del activador y Artefactos, usa el selector de columnas .

Para ver los detalles de una compilación específica, ve al Historial de compilación y haz clic en una compilación en particular. Se mostrará la página Detalles de compilación con el Resumen de compilación de tu compilación. El Resumen de compilación incluye las siguientes secciones:

  • Registro de compilación: El registro de la compilación
  • Detalles de ejecución: Los detalles de la compilación, incluidas las variables de entorno y las sustituciones
  • Artefactos de compilación: Los artefactos de la compilación, como imágenes de contenedores, objetos binarios o registros de compilación

Puedes ver el registro de compilación o los detalles de ejecución específicos de un paso de compilación si seleccionas el paso en la tabla Pasos que figura a la izquierda.

gcloud

Con el comando gcloud builds list, se muestran todas las compilaciones.

Para ver tus compilaciones, ejecuta el siguiente comando:

gcloud builds list

Deberías ver un resultado similar al siguiente:

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                      IMAGES                                              STATUS
3a2055bc-ccbd-4101-9434-d376b88b8940  2018-02-16T18:33:26+00:00  23S       gs://gcb-docs-project_cloudbuild/source/1518806004.25-db1e250a7b7f496eb8242bfee5ac308e.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS
900704ca-7a0c-4569-ac08-884593c19aac  2018-02-16T18:32:32+00:00            gs://gcb-docs-project_cloudbuild/source/1518805951.23-03dd53d16f684c568fa2bb7ff7ebda06.tgz  -                                                   FAILURE
021f9ede-ddaa-4cfb-8988-60142b015ebd  2018-02-14T15:48:44+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623322.56-9cd088ffc1e04f5aa6040728772d0c2a.tgz  -                                                   SUCCESS
8126d538-3c43-4304-a14c-33aceec8cb97  2018-02-14T15:46:13+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623172.09-327c02585a4e44e782ac97dd80d5a5d5.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS

Para obtener detalles sobre una compilación específica, ejecuta el siguiente comando:

gcloud builds describe [BUILD_ID]

en el que [BUILD_ID] es el ID de la compilación cuyos detalles deseas obtener.

Deberías ver un resultado similar al siguiente:

createTime: '2018-02-22T14:49:54.066666971Z'
finishTime: '2018-02-22T14:50:05.463758Z'
id: bcdb9c48-d92c-4489-a3cb-08d0f0795a0b
images:
- gcr.io/gcb-docs-project/quickstart-image
logUrl: https://console.cloud.google.com/cloud-build/builds/bcdb9c48-d92c-4489-a3cb-08d0f0795a0b?project=gcb-docs-project
logsBucket: gs://404889597380.cloudbuild-logs.googleusercontent.com
projectId: gcb-docs-project
results:
    buildStepImages:
    - sha256:a4363bc75a406c4f8c569b12acdd86ebcf18b6004b4f163e8e6293171462a79d
    images:
    - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
      name: gcr.io/gcb-docs-project/quickstart-image
      pushTiming:
          endTime: '2018-02-22T14:50:04.731919081Z'
          startTime: '2018-02-22T14:50:00.874058710Z'
      - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
        name: gcr.io/gcb-docs-project/quickstart-image:latest
        pushTiming:
            endTime: '2018-02-22T14:50:04.731919081Z'
            startTime: '2018-02-22T14:50:00.874058710Z'
source:
    storageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
sourceProvenance:
    fileHashes:
        gs://gcb-docs-project_cloudbuild/source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz#1519310993665963:
        fileHash:
        - value: -aRYrWp2mtfKhHSyWn6KNQ==
    resolvedStorageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
startTime: '2018-02-22T14:49:54.966308841Z'
status: SUCCESS
steps:
- args:
  - build
  - --no-cache
  - -t
  - gcr.io/gcb-docs-project/quickstart-image
  - .
  name: gcr.io/cloud-builders/docker
  status: SUCCESS
  timing:
      endTime: '2018-02-22T14:50:00.813257422Z'
      startTime: '2018-02-22T14:50:00.102600442Z'
timeout: 600s
timing:
    BUILD:
        endTime: '2018-02-22T14:50:00.873604173Z'
        startTime: '2018-02-22T14:50:00.102589403Z'
    FETCHSOURCE:
        endTime: '2018-02-22T14:50:00.087286880Z'
        startTime: '2018-02-22T14:49:56.962717504Z'
    PUSH:
        endTime: '2018-02-22T14:50:04.731958202Z'
        startTime: '2018-02-22T14:50:00.874057159Z'

Estado de los pasos y de la compilación

Una vez que se completa una compilación, Cloud Build proporciona un status general de la compilación y un status de cada paso de compilación individual.

En la siguiente tabla, se resumen los estados cuando una compilación o un paso tienen éxito, agotan el tiempo de espera o fallan:

Evento Estado de la compilación Estado del paso
La compilación tiene éxito SUCCESS Todos los pasos se marcan como SUCCESS.
La compilación falla FAILURE
  • El paso con errores se marca como FAILED.
  • Los pasos que tuvieron éxito antes de la falla de la compilación se marcan como SUCCESS.
  • Los pasos que se encontraban en ejecución se marcan como CANCELLED.
  • Los pasos que no comenzaron a ejecutarse se marcan como QUEUED.
El usuario cancela la compilación CANCELLED
  • Los pasos que tuvieron éxito antes de que se cancele la compilación se marcan como SUCCESS.
  • Los pasos que se encontraban en ejecución se marcan como CANCELLED.
  • Los pasos que no comenzaron a ejecutarse se marcan como QUEUED.
Se agota el tiempo de espera de la compilación TIMEOUT
  • Los pasos que tuvieron éxito antes de que se agotara el tiempo de espera de la compilación se marcan como SUCCESS.
  • Los pasos que se encontraban en ejecución se marcan como CANCELLED.
  • Los pasos que no comenzaron a ejecutarse se marcan como QUEUED.
Se agota el tiempo de espera de un paso FAILED
  • El paso que agotó el tiempo de espera se marca como TIMEOUT.
  • Los pasos que tuvieron éxito antes del que agotó el tiempo de espera se marcan como SUCCESS.
  • Los pasos que se encontraban en ejecución se marcan como CANCELLED.
  • Los pasos que no comenzaron a ejecutarse se marcan como QUEUED.

Para ver el estado de compilación y de cada paso, ejecuta el comando gcloud builds describe:

gcloud builds describe [BUILD_ID]

en el que [BUILD_ID] es el ID de la compilación.

El siguiente fragmento muestra el estado de cada paso de una compilación con un paso que agotó el tiempo de espera:

status: FAILURE
steps:
- args:
  - sleep
  - '60'
id: long sleep
name: alpine
status: CANCELLED
timing:
    endTime: '2018-02-26T14:09:18.531368493Z'
    startTime: '2018-02-26T14:09:11.023235026Z'
waitFor:
- '-'
- args:
- sleep
- '3'
id: shorty
name: alpine
status: SUCCESS
timeout: 60s
timing:
    endTime: '2018-02-26T14:09:15.497724138Z'
    startTime: '2018-02-26T14:09:11.023676903Z'
waitFor:
- '-'
- args:
  - sleep
  - '60'
name: alpine
status: TIMEOUT
timeout: 3s
timing:
    endTime: '2018-02-26T14:09:18.527488475Z'
    startTime: '2018-02-26T14:09:15.497736775Z'
waitFor:
- shorty
- args:
  - 'false'
name: alpine
status: QUEUED
waitFor:
- long sleep
timeout: 60s

Filtra resultados de compilación mediante consultas

Para buscar información sobre compilaciones que se ajusten a criterios específicos, proporciona una cadena de consulta en el campo Filtrar compilaciones en la página Historial de compilaciones en Google Cloud Console. Por ejemplo, puedes consultar las compilaciones que fallaron (que tienen un valor FAILURE en el campo de estado), las que se crearon después de un tiempo determinado, las etiquetadas y otras condiciones similares.

Campos compatibles con las consultas

Puedes consultar compilaciones según los valores de los siguientes campos:

  • status
  • build_id
  • trigger_id
  • source.storage_source.bucket
  • source.storage_source.object
  • source.repo_source.repo_name
  • source.repo_source.branch_name
  • source.repo_source.tag_name
  • source.repo_source.commit_sha
  • source_provenance.resolved_repo_source.commit_sha
  • results.images.name
  • results.images.digest
  • options.requested_verify_option
  • tags
  • images
  • create_time
  • start_time
  • finish_time

Los campos enumerados con notación de puntos (.) son subcampos.

Construye una string de consulta

En las strings de consulta, se usa el siguiente formato general:

field="value"

Usa la notación de puntos para especificar un subcampo, como results.images.name. Las consultas admiten los operadores de comparación = y !=, así como >>=<, y <= para los campos que tienen valores numéricos (como create_time).

Puedes crear consultas compuestas con las expresiones booleanas AND y OR.

Consultas de ejemplo comunes

Consulta sobre las compilaciones exitosas:

status="SUCCESS"

Consulta sobre las compilaciones que aún no finalizaron:

status="QUEUED" OR status="WORKING"

Consulta sobre las compilaciones que tienen un nombre de imagen de resultado determinado:

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="gcr.io/my-project/my-image"

Consulta todas las compilaciones con la etiqueta "prod":

tags="prod"

Consulta sobre las compilaciones que se marcaron como verificadas:

options.requested_verify_option="VERIFIED"

Consulta sobre las compilaciones que provienen de una fuente en Cloud Storage (en lugar de Cloud Source Repository):

source.storage_source.bucket!=""

Consulta sobre las compilaciones con un resumen de resultados determinado:

results.images.digest="sha256:6c7147fe4c813845ac2a9aa6f937bb272b68784f647c4f64c7325723c7245c88"

Para consultar sobre las compilaciones iniciadas después de una hora específica y finalizadas antes de otra hora determinada (zona horaria UTC), usa lo siguiente:

create_time>"2016-10-12T18:43:49+00:00" AND finish_time<"2016-10-13T18:43:49+00:00"

Filtra resultados de compilación mediante etiquetas

Puedes usar etiquetas en tus archivos de configuración, lo que te permite organizar tus compilaciones en grupos y filtrarlas. Puedes especificar strings en las etiquetas, como "prod" o "test".

Las etiquetas tienen las siguientes limitaciones:

  • El límite de caracteres de cada etiqueta es de 128.
  • Puedes definir un máximo de 64 etiquetas por compilación.
  • Las etiquetas pueden contener letras, números y guiones bajos en cualquier posición de la string.
  • Las etiquetas pueden contener puntos y guiones en cualquier posición, excepto la primera posición de tu string.

Para agregar etiquetas en tu compilación, haz lo siguiente:

  1. En tu archivo de configuración de compilación, agrega el campo tags:

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/cb-demo-img', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/cb-demo-img'
    tags:
    - 'test1'
    - 'test2'
    
  2. Para ver las compilaciones etiquetadas en tu clúster, usa la opción --filter en gcloud builds list. Para filtrar compilaciones, especifica una o varias etiquetas.

    • Para filtrar compilaciones con una sola etiqueta, especifica la etiqueta como una string en el campo tags. Con el siguiente comando, se enumeran todas las compilaciones etiquetadas con 'test1':

       gcloud builds list --filter "tags='test1'"
      
    • A fin de filtrar las compilaciones mediante varias etiquetas, usa “AND”, “OR” o “NOT” para enumerar las etiquetas. Con el siguiente comando, se enumeran todas las compilaciones etiquetadas con 'test1', 'test2' o 'test3':

       gcloud builds list --filter "tags=('test1' OR 'test2') AND 'test3'"
      

    Deberías ver un resultado similar al siguiente después de ejecutar estos comandos:

    ID                                    CREATE_TIME                DURATION  SOURCE                                                                             IMAGES                                 STATUS
    d33a9895-...                          ...                        1M45S     gs://...                                                                           gcr.io/...                             SUCCESS
    

Visualiza los resultados de compilación de activadores de compilación

En el Panel de Cloud Build, se proporciona una descripción general de alto nivel de tus compilaciones más recientes para cada activador de compilación.

El panel está organizado por tarjetas, en el que cada una está asociada a un activador de compilación en tu repositorio. Si hay varios activadores creados en un solo repositorio, habrá varias tarjetas. Estas tarjetas están ordenadas alfabéticamente por el nombre de tu repositorio seguido del nombre del activador. También puedes fijar cualquier tarjeta en la parte superior de la página si colocas el cursor sobre el lado derecho de la tarjeta y haces clic en el ícono de fijar como se indica en el siguiente ejemplo:

Captura de pantalla de una tarjeta de ejemplo en el panel

Las tarjetas se titulan según los últimos resultados de la compilación, como Correcto o Con error. El nombre del repositorio y del activador siguen el resultado del último resultado. Debajo del título, la tarjeta resume los resultados relacionados con tus compilaciones más recientes.

Visualiza el panel

El panel de Cloud Build se propaga si tienes configurados los activadores de compilación. Para obtener más información sobre cómo configurar activadores de compilación, consulta Crea y administra activadores de compilación.

Para ver el panel de Cloud Build, realiza lo siguiente:

  1. Ve a la página del panel de Cloud Build:

    Abrir la página del panel de Cloud Build

  2. Selecciona tu proyecto en el menú desplegable.

Verás el panel de Cloud Build con las compilaciones recientes de tus activadores de compilaciones.

En el panel de Cloud Build, se muestra la siguiente información:

  • Última compilación: La fecha y hora de la compilación más reciente.

  • Duración: La duración de la compilación más reciente, en formato HH:MM:SS.

  • Fuente: Vínculos a tu repositorio de código fuente conectado. Tu repositorio de código fuente puede ser un Cloud Source Repository, un repositorio de GitHub o de Bitbucket.

  • Confirmación: Vínculos a la confirmación que se usó para tu compilación.

  • Paso con error: El paso que falló en la compilación, si falló la compilación más reciente.

Si tu compilación más reciente falló, el Paso con error se vinculará con el paso que causó el error en tu registro de compilación.

  • Historial de compilación: Un gráfico de barras que representa la duración de las 20 compilaciones más recientes. Puedes colocar el cursor sobre cada barra del gráfico para ver la información sobre cada compilación individual.

  • Duración promedio: El tiempo de ejecución promedio de las 20 compilaciones más recientes, sin incluir las compilaciones que aún están en ejecución.

  • Porcentaje con éxito y con error: La proporción promedio de las 20 compilaciones más recientes con éxito y error.

Filtra tarjetas

Para filtrar tarjetas en tu panel, haz clic en la opción Filtrar activadores que se encuentra en la parte superior de la página del panel de Cloud Build:

Captura de pantalla del aviso de activación de filtros

Puedes filtrar las tarjetas mediante las siguientes opciones:

  • Fuente de activador: El nombre de tu repositorio de código fuente
  • Nombre del activador: El nombre del activador
  • Descripción del activador: La descripción de tu activador

¿Qué sigue?