Armazenar e visualizar registros de build

Configure o arquivo de configuração de build para armazenar os registros de build em buckets de registros. Assim, é possível agrupá-los e analisá-los usando as ferramentas do Cloud Logging e do Cloud Storage. Configurar o armazenamento de registros de build permite ter mais controle sobre o armazenamento e a análise dos registros. Se você deixar as configurações de armazenamento de registros de build indefinidas, o Cloud Build vai armazená-los em um bucket de propriedade da Google Cloudcom menos opções de análise de registros de build.

Esta página descreve como armazenar registros de build em diferentes tipos de buckets e como visualizar e excluir registros armazenados.

Antes de começar

Confira se você conhece as opções do arquivo de configuração de build para configurar o armazenamento de registros de build e como a propriedade do bucket afeta a acessibilidade dos registros. Para mais informações, consulte Opções de armazenamento de registros de build.

Armazenar registros de build em buckets criados pelo usuário

Com os buckets criados pelo usuário, você tem mais controle sobre o gerenciamento e a configuração deles.

Armazenar registros de build em um bucket do Cloud Logging criado pelo usuário

Com os buckets de registros criados pelo usuário, é possível ajustar o período de armazenamento dos registros de build armazenados. Para armazenar os registros de build em um bucket criado pelo usuário no Logging, faça o seguinte:

Conceder permissões do IAM:

Para receber as permissões necessárias para armazenar registros do build em um bucket do Cloud Logging criado pelo usuário, peça ao administrador para conceder a você o papel do IAM de Gravador de configuração de registros (roles/logging.configWriter) na conta ou conta de serviço do seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Configure o bucket do Logging:

  1. Crie um bucket e defina um valor para o campo Período de armazenamento.

  2. Crie um coletor para rotear os registros de build para o novo bucket:

    1. Insira o seguinte para o filtro de inclusão de build do seu coletor:

      logName = "projects/PROJECT_ID/logs/cloudbuild"
      

      Substitua PROJECT-ID pelo ID do projeto Google Cloud .

    2. (Opcional) Para evitar que os registros de build sejam enviados ao bucket de registros padrão, siga o exemplo em Parar de armazenar entradas de registro em buckets de registros.

Armazenar registros de build em um bucket do Cloud Storage criado pelo usuário

Para armazenar os registros de build em um bucket do Cloud Storage criado pelo usuário, faça o seguinte:

Conceder permissões do IAM:

Se o bucket do Cloud Storage e o Cloud Build estiverem no mesmo projeto Google Cloud e você estiver usando a conta de serviço legada do Cloud Build, ela terá as permissões necessárias do IAM por padrão. Você não precisa conceder permissões adicionais. Caso contrário, faça o seguinte:

Para receber as permissões necessárias para armazenar registros do build em um bucket do Cloud Storage criado pelo usuário, peça ao administrador para conceder a você o papel do IAM de Administrador do Storage (roles/storage.admin) na conta de serviço usada para o build. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Configure o bucket do Cloud Storage:

  1. No seu projeto Google Cloud , crie um bucket do Cloud Storage sem uma política de retenção definida para armazenar os registros de build.

  2. No arquivo de configuração do build, adicione um campo logsBucket que aponte para o bucket do Cloud Storage criado para armazenar registros da build. O arquivo de configuração de build a seguir contém instruções para criar uma imagem de contêiner e armazenar os registros de build em um bucket chamado mylogsbucket:

    YAML

        steps:
        - name: 'gcr.io/cloud-builders/docker'
          args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
        options:
          logging: GCS_ONLY
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "us-east1-docker.pkg.dev/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket",
           "options": {
             "logging": "GCS_ONLY"
           }
        }
    
  3. Use o arquivo de configuração do build para iniciar um build usando a linha de comando, a API ou acionadores.

Quando o build é concluído, o Cloud Build armazena os registros no bucket do Cloud Storage especificado no arquivo de configuração de build.

Armazenar registros de build em buckets do Cloud Storage específicos da região

É possível configurar seu build para que o Cloud Build envie registros de build para um bucket do Cloud Storage de propriedade do usuário na mesma região do build. Alinhar as regiões do seu build e do bucket de armazenamento de registros de build pode ajudar você a cumprir os requisitos de residência de dados.

Conceder permissões do IAM:

Se o bucket do Cloud Storage e o Cloud Build estiverem no mesmo projeto Google Cloud e você estiver usando a conta de serviço legada do Cloud Build, essa conta terá as permissões necessárias do IAM por padrão. Você não precisa conceder permissões adicionais. Caso contrário, faça o seguinte:

Para receber as permissões necessárias para armazenar registros de build em um bucket específico da região e de propriedade do usuário, peça ao administrador para conceder a você o papel do IAM de Administrador do Storage (roles/storage.admin) na conta de serviço usada para seu build. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Configure o bucket do Cloud Storage específico da região:

  1. No arquivo de configuração de build, adicione a opção defaultLogsBucketBehavior e defina o valor dela como REGIONAL_USER_OWNED_BUCKET:

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ]
    options:
      defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
    

    JSON

    {
      "steps": [
        {
          "name": "gcr.io/cloud-builders/docker",
          "args": [
            "build",
            "-t",
            "us-central1-docker.pkg.dev/myproject/myrepo/myimage",
            "."
          ]
        }
        ],
        "options": {
          "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET"
        }
    }
    
  2. Use o arquivo de configuração do build para iniciar um build usando a linha de comando, a API ou acionadores.

    Quando você executa o build, o Cloud Build cria o novo bucket na região em que você está executando o build e armazena os registros de build nesse bucket. Outros builds no mesmo projeto e região vão usar o bucket existente enquanto REGIONAL_USER_OWNED_BUCKET estiver ativo. Como esse bucket é de propriedade do usuário, você pode configurá-lo como se fosse um bucket criado pelo usuário.

    Se você definir a opção REGIONAL_USER_OWNED_BUCKET e criar builds em várias regiões, o Cloud Build vai criar um bucket do Cloud Storage para cada região exclusiva.

Também é possível usar um bucket criado pelo usuário se precisar alinhar a região e o bucket de registros da sua build. Nesse caso, você pode selecionar um bucket criado pelo usuário que tenha a mesma região ou criar um. Se quiser criar um, siga as etapas para Armazenar registros de build em buckets criados pelo usuário e verifique se o bucket criado pelo usuário está na mesma região do build.

Veja os registros das versões

Para conferir os registros de build, faça o seguinte:

Conceder permissões do IAM:

Para receber as permissões necessárias para visualizar registros de build no Cloud Storage ou no Logging, peça ao administrador para conceder a você os seguintes papéis do IAM na conta de serviço usada para o build:

  • Veja os registros de build em um bucket do Cloud Storage criado ou de propriedade do usuário:
    • Leitor de objetos do Storage (roles/storage.objectViewer): os principais que querem ver os registros de build
    • Acessador de exibição de registros (roles/logging.viewAccessor): os principais que querem ver registros de build
  • Acessar registros de build no bucket padrão do Cloud Storage: Leitor (roles/viewer): o projeto em que o build está configurado
  • Ver registros de build no Logging: Visualizador de registros (roles/logging.viewer): os principais que querem ver registros de build

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Ver registros de build em Google Cloud

Console

  1. Abra a página do Cloud Build no Google Cloud console.

    Abra a página do Cloud Build

  2. Selecione o projeto e clique em Abrir.

  3. No menu suspenso Região, selecione a região para seu build.

  4. Na página Histórico de build, selecione um build específico.

  5. Na página Detalhes do build, em Etapas, clique em Resumo do build para ver os registros de build inteiros ou selecione uma etapa de build para ver os registros dela.

  6. Se os registros do build forem armazenados na geração de registros, no painel Registro do build, clique no ícone para ver os registros na Análise de registros.

gcloud

Execute o comando gcloud builds log em que build-id é o ID do build para o qual você quer receber registros de build. O ID do build é exibido no final do processo de envio da build quando você executa gcloud builds submit ou na coluna "ID" quando você executa gcloud builds list.

gcloud builds log build-id

Ver registros de build no GitHub e no GitHub Enterprise

Se você criar um gatilho do GitHub ou do GitHub Enterprise com a CLI gcloud ou a API Cloud Build e especificar --include-logs-with-status como uma opção, poderá conferir os registros de build no GitHub e no GitHub Enterprise.

Para ver os registros de build no GitHub e no GitHub Enterprise, faça o seguinte:

  1. Navegue até o repositório associado ao seu acionador.

  2. Acesse sua lista de commits.

  3. Encontre a linha do commit para o qual você quer ver os registros de build.

  4. Clique no ícone de resultado na linha do commit.

    Você vai ver uma lista de verificações associadas ao seu commit.

  5. Clique em Detalhes na linha em que você quer ver os registros de build.

    A página Resumo associada ao commit vai aparecer. Se você criou um gatilho usando a flag --include-logs-with-status, os registros do build vão aparecer na seção Detalhes da página.

Excluir registros e buckets de build

Para receber as permissões necessárias para excluir registros de build e buckets no Cloud Storage, peça ao administrador para conceder a você os seguintes papéis do IAM na conta de serviço usada para seu build:

  • Excluir registros de build em um bucket do Cloud Storage criado ou de propriedade do usuário: Administrador do Storage (roles/storage.admin): o usuário ou a conta de serviço que exclui os registros de build
  • Excluir um bucket do Cloud Storage criado ou de propriedade do usuário: Administrador do Storage (roles/storage.admin): o usuário ou a conta de serviço que exclui buckets
  • Excluir um bucket do Logging criado pelo usuário: Gravador de configuração de registros (roles/logging.configWriter): seu projeto

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Para excluir registros de build em um bucket do Cloud Storage criado ou de propriedade do usuário, siga as instruções em Como excluir objetos na documentação do Cloud Storage.

Para excluir um bucket do Cloud Storage criado ou de propriedade do usuário, siga as instruções em Como excluir buckets na documentação do Cloud Storage.

Para excluir um bucket do Logging criado pelo usuário, siga as instruções em Excluir um bucket na documentação do Logging.

A seguir