Ver resultados do build

Nesta página, explicamos como ver as informações sobre builds do Cloud Build usando o Google Cloud console, 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 gcloud ferramenta de linha de comando.

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 visualizar registros de build no Cloud Build ou no GitHub ou GitHub Enterprise após a criação do gatilho, consulte Como visualizar registros de build.

Console

No Google Cloud console, o menu Histórico de build mostra informações sobre o status do build (como, por exemplo, bem-sucedido ou falha) a origem, os resultados, o tempo de criação, as imagens etc.

Para ver o menu Histórico de build, abra a página Histórico de build no Google Cloud console:

Abrir a página "Histórico de build"

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

É possível filtrar builds usando o campo Filtrar, ou inserindo uma consulta.

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

Para ver detalhes de uma build específica, acesse a página Histórico de build e clique em uma build especificada. 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.
  • Dependências de build: se o build tiver uma ou mais dependências, essa guia mostrará informações de dependência, como o URL do repositório e a revisão.
  • Artefatos do build: os artefatos do build, como imagens de contêiner , registros do build ou binários.

Para ver o registro de build ou os detalhes da execução específicos de uma etapa de build, selecione a etapa na tabela Etapas à esquerda.

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 status geral para a criação e um 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.
Build bem-sucedida com etapas com falha permitidas SUCCESS
Falha na build FAILURE
  • A etapa com falha é marcada como FAILED.
  • As etapas que foram bem-sucedidas antes do término 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 é cancelada pelo usuário CANCELLED
  • As etapas que foram 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 foram bem-sucedidas antes do tempo limite 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 etapa atinge o tempo limite FAILED
  • A etapa que atinge o tempo limite é marcada como TIMEOUT.
  • Etapas que tiveram sucesso antes da etapa expirada 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 <var>BUILD_ID</var>

em que BUILD_ID é o ID 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 de build usando consultas

Para encontrar informações sobre builds que atendam a critérios específicos, insira uma string de consulta no campo Filtrar build na página Histórico de build no Google Cloud console. 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 builds provenientes de uma origem do Cloud Storage, e não de um repositório de origem:

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 de build 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