Como ver os resultados da versão

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

Antes de começar

Como ver os resultados da versão

CONSOLE

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

Para ver o menu Histórico da versão:

  1. Abra a página Histórico da versão no console do Google Cloud Platform.

    Abrir a página "Histórico da versão"

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

Para ver detalhes sobre uma versão específica:

  1. Na página Histórico de versão, clique em uma versão específica.

    É exibida a página Detalhes da versão, que mostra os detalhes dessa versão, como status, código da versão etc.

gcloud

O comando gcloud builds list exibe todas suas versões.

Para visualizar suas versões, 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 versão específica, execute o seguinte comando:

gcloud builds describe [BUILD_ID]

em que [BUILD_ID] é o código da versão da qual 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 versão

Depois que uma versão é concluída, o Cloud Build fornece um status geral para a versão e um status para cada etapa de versã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 versão Status da etapa
Versão bem-sucedida SUCCESS Todas as etapas estão marcadas como SUCCESS.
A versão falha FAILURE
  • A etapa com falha é marcada como FAILED.
  • Etapas que foram bem-sucedidas antes do término da versã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 versão é cancelada pelo usuário CANCELLED
  • Etapas que foram bem-sucedidas antes do cancelamento da versão 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 versão foi encerrada TIMEOUT
  • Etapas que foram bem-sucedidas antes do tempo-limite da versão 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.
Tempos limite FAILED
  • A etapa expirada está 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 visualizar o status por etapa e por versão, execute o comando gcloud builds describe:

gcloud builds describe [BUILD_ID]

[BUILD_ID] é o código da versão.

O snippet a seguir mostra o status por etapa de uma versã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 versão usando consultas

Para encontrar informações de versões que se encaixam em 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 Platform. Por exemplo, você pode consultar versões que falharam (que têm um valor FAILURE no campo de status), versões que foram criadas após um determinado período, versões com tags e outras condições.

Campos compatíveis para consultas

Você pode consultar versões com base no valor 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 um ponto (.) são subcampos.

Como criar uma string de consulta

Strings de consulta usam o formato geral:

field="value"

Use pontos para especificar subcampos, como results.images.name. As consultas aceitam os operadores de comparação = e !=, assim como >, >=, < e <= em campos que têm 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 versões bem-sucedidas:

status="SUCCESS"

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

status="QUEUED" OR status="WORKING"

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

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="gcr.io/argo-integration-testing/stubby-probe"

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

tags="prod"

Para consultar as versões marcadas como verificadas:

options.requested_verify_option="VERIFIED"

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

source.storage_source.bucket!=""

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

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

Para consultar as versõ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" AND finish_time<"2016-10-13T18:43:49"

Como filtrar resultados de versão usando tags

Você pode usar tags nos arquivos de configuração. Isso permite organizar as versões em grupos e filtrá-las. Você pode 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 versão.
  • As tags podem conter letras, números e sublinhados.

Para adicionar tags à sua versão:

  1. No arquivo de configuração de versão, 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:
    - "test"
    - "tag2"
    
  2. Para ver as versões que têm tags no seu cluster, use a opção --filter no gcloud builds list. Por exemplo, o comando a seguir lista todas as versões que têm tags 'test':

    gcloud builds list --filter "tags='test'"
    

    Você verá um resultado semelhante a este:

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

A seguir

Enviar comentários sobre…