Como ver os resultados da build

Nesta página, explicamos como ver as informações sobre 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.

Como ver os resultados da compilação

Para ver os registros de versão, os membros do projeto precisam de uma das seguintes permissões do IAM, além das permissões do IAM do Cloud Build:

Para mais informações sobre as permissões necessárias para visualizar registros de build, consulte Como visualizar registros de build.

Console

No Console do Cloud, 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 da build, abra a página Histórico da build 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, use a caixa de texto Filtrar builds na parte superior da página ou insira 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.

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  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 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:
- gcr.io/gcb-docs-project/quickstart-image
logUrl: https://console.cloud.google.com/gcr/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'

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.
Falha na build FAILURE
  • A etapa com falha é marcada como FAILED.
  • Etapas que foram 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 não iniciadas são marcadas como QUEUED.
A build é cancelada pelo usuário CANCELLED
  • 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çaram 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çaram a ser executadas são marcadas como QUEUED.
A etapa atinge o tempo limite FAILED
  • A etapa que atingiu 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çaram 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

Como 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 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="gcr.io/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"

Como filtrar resultados de criaçã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', 'gcr.io/$PROJECT_ID/cb-demo-img', '.' ]
    images:
    - 'gcr.io/$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://...                                                                           gcr.io/...                             SUCCESS
    

Como ver os resultados de build para gatilhos de compilação

O painel do Cloud Build apresenta uma visão geral de alto nível dos builds mais recentes para cada gatilho de build.

O painel é organizado em cards, sendo cada um associado a um gatilho de build no seu repositório. Se houver vários gatilhos criados em um único repositório, haverá vários cards. Esses cards são classificados em ordem alfabética pelo nome do repositório seguido do nome do gatilho. É possível também fixar qualquer card na parte superior da página passando o cursor do mouse sobre o lado direito do card e clicando no ícone de fixação, conforme indicado no exemplo abaixo:

Captura de tela de um card de exemplo no painel

Os cards são intitulados de acordo com as respostas mais recentes do build, como Bem-sucedida ou Falha. Os nomes do repositório e do gatilho seguem o resultado da resposta mais recente. Abaixo do título, o card apresenta um resumo dos resultados relacionados aos builds mais recentes.

Como ver o painel

O painel do Cloud Build será preenchido se você tiver configurado os gatilhos de build. Para saber mais sobre como configurar gatilhos de build, consulte Como criar e gerenciar gatilhos de build.

Para ver o painel do Cloud Build:

  1. Acesse a página do painel do Cloud Build:

    Abrir a página do painel do Cloud Build

  2. Selecione o projeto no menu suspenso.

Você verá o painel do Cloud Build com uma lista dos builds recentes dos seus gatilhos de build.

O painel do Cloud Build exibe as seguintes informações:

  • Última versão: a data e a hora da build mais recente.

  • Duração: a duração da build mais recente, no formato HH:MM:SS.

  • Origem: links para seu repositório de origem conectado. O repositório de origem pode ser um Cloud Source Repository, um repositório do GitHub ou do Bitbucket.

  • Confirmação: links para a confirmação que foi usada na build.

  • Etapa com falha: a etapa com falha que resultou na falha do build, se o build mais recente falhou.

Se o build mais recente falhou, a Etapa com falha criará um link para a etapa que causou a falha no registro do build.

  • Histórico do build: um gráfico de barras que representa a duração dos 20 builds mais recentes. Passe o cursor do mouse sobre cada barra no gráfico para ver as informações do build individual.

  • Duração média: o tempo de execução médio dos 20 builds mais recentes, sem incluir as que ainda estão em execução.

  • Porcentagem de aprovação/reprovação: a taxa média de aprovação/reprovação das 20 builds mais recentes.

Como filtrar cards

Para filtrar os cards no painel, clique na opção Filtrar gatilhos na parte superior da página do painel do Cloud Build:

Captura de tela do prompt de filtragem de gatilhos

Os cards podem ser filtrados por:

  • Origem do gatilho: o nome do repositório de origem.
  • Nome do gatilho: o nome do seu gatilho.
  • Descrição do gatilho: a descrição do seu gatilho.

A seguir