Ver resultados do build

Nesta página, explicamos como ver informações sobre os builds do Cloud Build usando o console do Google Cloud, a ferramenta de linha de comando gcloud e a API Cloud Build.

Antes de começar

Para usar os exemplos de linha de comando deste guia, instale a ferramenta de linha de comando gcloud.

Ver resultados do build

Para ver os registros de criação, os principais exigem um dos seguintes papéis de IAM, além das permissões de IAM do Cloud Build:

Para mais informações sobre as permissões necessárias para exibir os registros de build no Cloud Build, no GitHub ou no GitHub Enterprise após a criação do gatilho, consulte Como visualizar registros de build.

Console

No console do Google Cloud, o menu Histórico da versão pode mostrar informações sobre o status de uma versão (como sucesso ou falha), origem, resultados, horário de criação, imagens e muito mais.

Para ver o menu Histórico da versão, abra a página Histórico da versão no Console do Google Cloud:

Abrir a página "Histórico de criações"

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

Para filtrar builds por região, use o menu suspenso Região, na parte superior da página, para escolher a região que você quer usar como filtro.

Também é possível filtrar builds usando a caixa de texto Filtrar builds na parte superior da página ou inserindo uma consulta manualmente.

Para ver mais colunas, como Descrição do gatilho e Artefatos, use o seletor de coluna .

Para ver detalhes sobre um build específico, acesse Histórico de build e clique em um determinado build. A página Detalhes de build é exibida com o Resumo de build para o build. O Resumo da build inclui os seguintes dados:

  • Registro da build, o registro da sua build.
  • Detalhes da execução, os detalhes do build, incluindo as variáveis de ambiente e substituições.
  • Artefatos do build, os artefatos do build, como imagens de contêiner, registros do build ou binários.

Selecione a etapa na tabela Steps à esquerda para ver o registro ou os detalhes da execução específicos de uma etapa de versão.

gcloud

O comando gcloud builds list exibe todos os builds.

Para ver suas builds, execute este comando:

gcloud builds list

O resultado será semelhante a este:

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 exibir detalhes de uma criação específica, execute o seguinte comando:

gcloud builds describe [BUILD_ID]

em que [BUILD_ID] é o ID da criação de que você quer detalhes.

O resultado será semelhante a este:

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'

Status da etapa e da criação

Depois que uma criação for concluída, o Cloud Build fornecerá um conjunto status para a criação e status para cada etapa da criação individual.

A tabela a seguir resume os status quando uma versão ou etapa é bem-sucedida, atinge o tempo limite ou falha:

Evento Status da criação Status da etapa
Build bem-sucedida SUCCESS Todas as etapas estão marcadas como SUCCESS.
O build é bem-sucedido com as etapas com falha permitidas SUCCESS
  • O build está marcado como SUCCESS.
  • As etapas com falha configuradas com allowFailure ou allowExitCodes são marcadas como FAILED.
Falha na build FAILURE
  • A etapa com falha é marcada como FAILED.
  • As etapas que são bem-sucedidas antes do término da criação são marcadas como SUCCESS.
  • Etapas no meio da execução são marcadas como CANCELLED.
  • As etapas que não começam a ser executadas são marcadas como QUEUED.
A build é cancelada pelo usuário CANCELLED
  • As etapas que são bem-sucedidas antes do cancelamento da build são marcadas como SUCCESS.
  • Etapas no meio da execução são marcadas como CANCELLED.
  • As etapas que não começam a ser executadas são marcadas como QUEUED.
A build atingiu o tempo limite TIMEOUT
  • As etapas que são bem-sucedidas antes do tempo limite da compilação são marcadas como SUCCESS.
  • Etapas no meio da execução são marcadas como CANCELLED.
  • As etapas que não começam a ser executadas são marcadas como QUEUED.
A etapa atinge o tempo limite FAILED
  • A etapa que expira é marcada como TIMEOUT.
  • As etapas que são bem-sucedidas antes da etapa que atingiu o tempo limite são marcadas como SUCCESS.
  • Etapas no meio da execução são marcadas como CANCELLED.
  • As etapas que não começam a ser executadas são marcadas como QUEUED.

Para ver o status por etapa e de criação, execute o comando gcloud builds describe:

gcloud builds describe [BUILD_ID]

[BUILD_ID] é o código da criação.

O snippet a seguir mostra o status por etapa de uma criação com uma etapa com tempo limite atingido:

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

Filtrar resultados da versão usando consultas

Para encontrar informações sobre builds que atendam a critérios específicos, forneça uma string de consulta no campo Filtrar versões na página Histórico de versões no console do Google Cloud. Por exemplo, é possível consultar criações que falharam (que têm um valor FAILURE no campo de status), criações que foram criadas após um determinado período, criações com tags e outras condições.

Campos compatíveis para consultas

É possível consultar builds 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 listados com uma notação de ponto (.) são subcampos.

Como criar uma string de consulta

Strings de consulta usam o formato geral:

field="value"

Use o ponto para especificar um subcampo, como results.images.name. As consultas são compatíveis com os operadores de comparação = e != e também com >, >=, < e <= para campos com valores numéricos (como create_time).

Para criar consultas compostas, use as expressões booleanas AND e OR.

Exemplos de consultas comuns

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

status="SUCCESS"

Para consultar todas as criações ainda não concluídas:

status="QUEUED" OR status="WORKING"

Para consultar as criações com um nome de imagem resultante específico:

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

Para consultar todas as criações com a tag "prod":

tags="prod"

Para consultar as criações marcadas como verificadas:

options.requested_verify_option="VERIFIED"

Para consultar as criações provenientes de uma fonte do Cloud Storage (em oposição a um Cloud Source Repository):

source.storage_source.bucket!=""

Para consultar as criações com um resumo resultante específico:

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

Para consultar as criações iniciadas depois de um período específico e concluídas antes de um período específico (fuso horário UTC):

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

Filtrar resultados da versão usando tags

Use tags nos arquivos de configuração. Assim é possível organizar as criações em grupos e filtrá-las. Também é possível especificar strings em tags, como "prod" ou "test".

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

  • O limite de caracteres de cada tag é de 128 caracteres.
  • É possível definir um máximo de 64 tags por criação.
  • As tags podem conter letras, números e sublinhados em qualquer posição da string.
  • As tags podem conter pontos e hifens em qualquer posição, exceto na primeira posição da string.

Para adicionar tags à build:

  1. No arquivo de configuração de build, 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 builds com tags no seu cluster, use a opção --filter em gcloud builds list. É possível filtrar os builds especificando uma ou várias tags.

    • Para filtrar os builds por uma única tag, especifique a tag como uma string no campo tags. O comando a seguir lista todos as builds marcadas com a tag 'test1':

       gcloud builds list --filter "tags='test1'"
      
    • Para filtrar os builds por várias tags, use "AND", "OR" ou "NOT" para listar as tags. O comando a seguir lista todos os builds marcados com a tag 'test1' ou 'test2' e com 'test3':

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

    Você verá uma resposta semelhante à seguinte depois de executar estes comandos:

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

A seguir