Veja os resultados da compilação

Esta página explica como ver informações sobre as suas compilações do Cloud Build através da Google Cloud consola, da ferramenta de linha de comandos gcloud e da API Cloud Build.

Antes de começar

Se quiser usar os exemplos de linhas de comandos neste guia, instale a ferramenta de linha de comandos gcloud.

Veja os resultados da compilação

Para ver os registos de compilação, os responsáveis precisam de uma das seguintes funções da IAM, além das autorizações da IAM do Cloud Build:

Para mais informações acerca das autorizações necessárias para ver registos de compilação no Cloud Build ou no GitHub ou GitHub Enterprise após a criação do acionador, consulte o artigo Ver registos de compilação.

Consola

Na Google Cloud consola, o menu Histórico de compilações pode mostrar-lhe informações sobre o estado de uma compilação (como êxito ou falha), origem, resultados, hora de criação, imagens e muito mais.

Para ver o menu Histórico de compilações, abra a página Histórico de compilações na Google Cloud consola:

Abra a página Histórico de compilação

É apresentada a página Histórico de compilações, que mostra uma lista das suas compilações recentes.

Pode filtrar compilações através do campo Filtro ou introduzindo uma consulta.

Para ver colunas adicionais, como Descrição do acionador e Artefactos, use o seletor de colunas .

Para ver detalhes sobre uma compilação específica, aceda ao Histórico de compilações e clique numa compilação especificada. É apresentada a página Detalhes da compilação, com o Resumo da compilação da sua compilação. O Resumo da compilação inclui:

  • Registo de compilação: o registo da sua compilação.
  • Detalhes da execução: os detalhes da compilação, incluindo as variáveis de ambiente e as substituições.
  • Dependências de compilação: se a sua compilação tiver uma ou mais dependências, este separador mostra informações de dependências, como o URL do repositório e a revisão.
  • Criar artefactos: os artefactos da sua compilação, como imagens de contentores, registos de compilação ou ficheiros binários.

Pode ver o registo de compilação ou os detalhes de execução específicos de um passo de compilação selecionando o passo na tabela Passos à esquerda.

gcloud

O comando gcloud builds list apresenta todas as suas compilações.

Para ver as suas compilações, execute o seguinte comando:

gcloud builds list

Deverá ver um resultado semelhante ao seguinte:

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  us-east1-docker.pkg.dev/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  us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image (+1 more)  SUCCESS

Para ver detalhes sobre uma compilação específica, execute o seguinte comando:

gcloud builds describe [BUILD_ID]

onde [BUILD_ID] é o ID da compilação para a qual quer obter detalhes.

Deverá ver um resultado semelhante ao seguinte:

createTime: '2018-02-22T14:49:54.066666971Z'
finishTime: '2018-02-22T14:50:05.463758Z'
id: bcdb9c48-d92c-4489-a3cb-08d0f0795a0b
images:
- us-east1-docker.pkg.dev/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: us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image
      pushTiming:
          endTime: '2018-02-22T14:50:04.731919081Z'
          startTime: '2018-02-22T14:50:00.874058710Z'
      - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
        name: us-east1-docker.pkg.dev/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
  - us-east1-docker.pkg.dev/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 do passo e estado da compilação

Após a conclusão de uma compilação, o Cloud Build fornece um resultado status geral para a compilação e um resultado status para cada passo de compilação individual.

A tabela seguinte resume os estados quando uma compilação ou um passo é bem-sucedido, atinge o limite de tempo ou falha:

Evento Estado da compilação Estado do passo
A compilação é bem-sucedida SUCCESS Todos os passos estão marcados com SUCCESS.
A compilação é bem-sucedida com passos com falhas permitidos SUCCESS
  • A compilação está marcada como SUCCESS.
  • Os passos com falhas configurados com allowFailure ou allowExitCodes estão marcados com FAILED.
Falhas de compilação FAILURE
  • O passo com falha está marcado com FAILED.
  • Os passos que são bem-sucedidos antes da rescisão da compilação são marcados com SUCCESS.
  • Os passos no meio da execução estão marcados com CANCELLED.
  • Os passos que não começam a ser executados estão marcados com QUEUED.
A criação é cancelada pelo utilizador CANCELLED
  • Os passos que são bem-sucedidos antes do cancelamento da compilação são marcados com SUCCESS.
  • Os passos no meio da execução estão marcados com CANCELLED.
  • Os passos que não começam a ser executados estão marcados com QUEUED.
A compilação excede o tempo limite TIMEOUT
  • Os passos que são bem-sucedidos antes de o tempo limite de compilação expirar são marcados com SUCCESS.
  • Os passos no meio da execução estão marcados com CANCELLED.
  • Os passos que não começam a ser executados estão marcados com QUEUED.
O passo excede o tempo limite FAILED
  • O passo que excede o tempo limite está marcado com TIMEOUT.
  • Os passos bem-sucedidos antes do passo com tempo limite excedido são marcados com SUCCESS.
  • Os passos no meio da execução estão marcados com CANCELLED.
  • Os passos que não começam a ser executados estão marcados com QUEUED.

Para ver o estado de cada passo e da compilação, execute o comando gcloud builds describe:

gcloud builds describe <var>BUILD_ID</var>

em que BUILD_ID é o ID da compilação.

O fragmento seguinte mostra o estado por etapa de uma compilação com uma etapa com tempo limite excedido:

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

Filtre os resultados da compilação através de consultas

Para encontrar informações sobre compilações que se enquadram em critérios específicos, forneça uma string de consulta no campo Filtrar compilações na página Histórico de compilações na Google Cloud consola. Por exemplo, pode consultar compilações que falharam (que têm um valor FAILURE no campo de estado), compilações criadas após um determinado período, compilações etiquetadas e outras condições semelhantes.

Campos suportados para consultas

Pode consultar compilações com base nos valores dos seguintes 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

Os campos apresentados com a notação de pontos (.) são subcampos.

Construir uma string de consulta

As strings de consulta usam o formato geral:

field="value"

Use a notação de ponto para especificar um subcampo, como results.images.name. As consultas suportam os operadores de comparação = e !=, bem como >, >=, < e <= para campos com valores numéricos (como create_time).

Pode criar consultas compostas usando as expressões booleanas AND e OR.

Exemplos de consultas comuns

Para consultar todas as compilações bem-sucedidas:

status="SUCCESS"

Para consultar todas as compilações que ainda não foram concluídas:

status="QUEUED" OR status="WORKING"

Para consultar compilações com um determinado nome de imagem de resultado:

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="us-east1-docker.pkg.dev/my-project/my-image"

Para consultar todas as compilações com a etiqueta "prod":

tags="prod"

Para consultar compilações marcadas como validadas:

options.requested_verify_option="VERIFIED"

Para consultar compilações provenientes de uma origem no Cloud Storage (em vez de um Cloud Source Repository):

source.storage_source.bucket!=""

Para consultar compilações com um determinado resumo de resultados:

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

Para consultar compilações iniciadas após uma hora específica e concluídas antes de uma hora específica (fuso horário UTC):

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

Filtre os resultados da compilação através de etiquetas

Pode usar etiquetas nos seus ficheiros de configuração, o que lhe permite organizar as compilações em grupos e filtrá-las. Pode especificar strings em etiquetas, como "prod" ou "test".

As etiquetas têm as seguintes limitações:

  • O limite de carateres de cada etiqueta é de 128 carateres
  • Pode definir um máximo de 64 etiquetas por compilação
  • As etiquetas podem conter letras, números e sublinhados em qualquer posição da string.
  • As etiquetas podem conter pontos finais e hífenes em qualquer posição, exceto na primeira posição da sua string.

Para adicionar etiquetas na sua compilação:

  1. No ficheiro de configuração de compilação, adicione o campo tags:

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img', '.' ]
    images:
    - 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img'
    tags:
    - 'test1'
    - 'test2'
    
  2. Para ver as compilações etiquetadas no seu cluster, use a opção --filter em gcloud builds list. Pode filtrar compilações especificando uma única etiqueta ou várias etiquetas.

    • Para filtrar compilações por uma única etiqueta, especifique a etiqueta como uma string no campo tags. O comando seguinte apresenta uma lista de todas as compilações etiquetadas com 'test1':

       gcloud builds list --filter "tags='test1'"
      
    • Para filtrar compilações por várias etiquetas, use "AND", "OR" ou "NOT" para listar etiquetas. O comando seguinte apresenta uma lista de todas as compilações etiquetadas com 'test1' ou 'test2' e etiquetadas com 'test3':

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

    Vai ver um resultado semelhante ao seguinte depois de executar estes comandos:

    ID                                    CREATE_TIME                DURATION  SOURCE                                                                             IMAGES                                 STATUS
    d33a9895-...                          ...                        1M45S     gs://...                                                                           us-east1-docker.pkg.dev/...            SUCCESS
    

O que se segue?