Opções de armazenamento de registros de build

Quando você executa builds, o Cloud Build coleta e armazena os registros em um bucket de registros. Com base nas configurações do arquivo de configuração de build, os registros são armazenados em buckets do Cloud Logging, do Cloud Storage ou em ambos os locais. Também é possível configurar o tipo de geração de registros ou bucket do Cloud Storage que contém seus registros. O local e o tipo do bucket afetam sua capacidade de analisar os registros de build e o nível de controle que você tem sobre as configurações do bucket.

Visão geral

Ao configurar o arquivo de configuração do build, considere o seguinte:

  • Se você quiser controlar o período de armazenamento dos registros de build armazenados, envie-os para a geração de registros. O visualizador de registros no Logging também oferece mais opções para pesquisar um bucket em busca de registros de build específicos em comparação com o Cloud Storage. No entanto, ao usar o Logging, pode haver um atraso entre o momento em que um registro de build é gerado e o momento em que o Logging o recebe.

  • Se você quiser reduzir a latência entre a geração e o recebimento de um registro de build pelo Logging, envie os registros para um bucket no Cloud Storage.

A propriedade do bucket também afeta a forma como você pode interagir com os registros de build armazenados. Por exemplo, um bucket de propriedade do usuário permite configurar as definições do seu bucket, enquanto os buckets de propriedade do Google Cloudsão criados pelo Google Cloude não podem ser alterados pelos usuários. O Logging e o Cloud Storage têm várias opções para configurar o tipo de bucket que recebe os registros de build.

Locais dos buckets

Defina o campo logging no arquivo de configuração do build para determinar onde os registros de build serão enviados:

  • GCS_ONLY: os registros de build são enviados para buckets do Cloud Storage.
  • CLOUD_LOGGING_ONLY: os registros de build são enviados para buckets do Logging.
  • LEGACY: os registros de build são enviados para buckets nos dois locais. Se logging não estiver definido, o Cloud Build usará esse valor.
  • NONE: os registros de build não são armazenados.

Se você enviar os registros de build para o Logging, consulte Configuração de roteamento do Cloud Logging para informações sobre as opções de bucket do Logging. Se você enviar os registros de build para o Cloud Storage, consulte a seção a seguir para informações sobre os buckets disponíveis do Cloud Storage. A seção Considerações sobre a propriedade do bucket descreve os benefícios e as considerações para buckets com base na propriedade, independente da localização.

Opções de bucket no Cloud Storage

Se os registros de build forem enviados ao Cloud Storage, o Cloud Build avaliará os campos logsBucket e defaultLogsBucketBehavior no arquivo de configuração de build para determinar o tipo de bucket do Cloud Storage que recebe os registros de build.

O campo logsBucket pode ter qualquer tipo de agrupamento. Se logsBucket estiver definido, os registros serão sempre enviados para esse bucket no Cloud Storage, independente do valor de defaultLogsBucketBehavior. Se logsBucket não estiver definido, o valor de defaultLogsBucketBehavior será usado da seguinte forma:

  • REGIONAL_USER_OWNED_BUCKET: os registros de build são enviados para o bucket criado pelo Cloud Build e de propriedade do usuário no Cloud Storage. Esse bucket está no projeto do usuário e usa a mesma região da build.
  • LEGACY_BUCKET: os registros de build são enviados para o bucket criado pelo Cloud Build e de propriedade de Google Cloudem um projeto de propriedade de Google Cloud. Esse valor é o mesmo que deixar o campo indefinido.

Armazenamento de registros ao criar com Dockerfiles

Para configurar o armazenamento de registros de build ao criar um Dockerfile, inclua um dos valores da flag default-buckets-behavior ao executar gcloud builds submit:

  • regional-user-owned-bucket: os registros de build são enviados para o bucket criado pelo Cloud Build e de propriedade do usuário no Cloud Storage. Esse bucket está no projeto do usuário e usa a mesma região da build.
  • legacy-bucket: os registros de build são enviados para o bucket criado pelo Cloud Build e de propriedade de Google Cloudem um projeto de propriedade de Google Cloud. Esse valor é o mesmo que deixar o campo indefinido.

Considerações sobre a propriedade do bucket

Independente de usar o Cloud Storage ou o Logging, recomendamos enviar os registros de build para um bucket de propriedade do usuário. Ele pode ser um bucket criado pelo usuário (por exemplo, se você definir logsBucket como um bucket criado por você) ou um bucket criado pelo Cloud Build, mas de propriedade do usuário (por exemplo, se você configurou as definições de um bucket regional de propriedade do usuário). Assim, você pode editar algumas propriedades do bucket e ver os registros nele a qualquer momento. Como os buckets de propriedade de Google Cloudestão em projetos de propriedade deGoogle Cloud, eles não podem ser visualizados nem editados, e os registros de build só podem ser vistos na seção Registro de build da página Detalhes do build.

.

Em geral, os intervalos criados pelo usuário oferecem mais flexibilidade em termos de configuração, tanto durante quanto depois da criação. No entanto, nesse caso, sempre verifique se o bucket criado pelo usuário está alinhado às necessidades do build. Em alguns casos, como o gerenciamento de regiões de bucket, usar um bucket criado pelo Cloud Build e de propriedade do usuário permite enviar registros de build para um bucket disponível no Cloud Storage por padrão e sempre na mesma região do build. Confira mais informações sobre esse caso de uso na seção a seguir:

Considerações sobre regiões de buckets

Recomendamos configurar o bucket de build para se alinhar à região do build, já que essa configuração pode ajudar você a obedecer aos requisitos de residência de dados. Se você quiser alinhar suas regiões dessa forma, considere o seguinte:

  • Os buckets criados pelo usuário no Logging e no Cloud Storage usam a região definida durante a criação do bucket. Se você definir um bucket criado pelo usuário como o valor logging do build, verifique se a região dele corresponde à região do build.

  • Se você configurou o registro de build para usar buckets regionais de propriedade do usuário no Cloud Storage, os registros de build sempre serão enviados para um bucket na mesma região do build.

  • Os buckets de propriedade doGoogle Cloudsão definidos para uma região definida pelo Google Cloud. Como resultado, essa região nem sempre se alinha com a região do build.

Adicionar defaultLogsBucketBehavior aos arquivos de configuração de build atuais

Se você estiver adicionando a opção defaultLogsBucketBehavior a um arquivo de configuração de build em que já configurou logging ou logsBucket, recomendamos avaliar todas as configurações de armazenamento de registros para garantir que eles sejam armazenados conforme o esperado. O Cloud Build ignora defaultLogsBucketBehavior se uma das seguintes condições for verdadeira:

  • logging está definido como CLOUD_LOGGING_ONLY ou NONE.
  • logging está definido como GCS_ONLY ou LEGACY, e logsBucket está definido.

Se você executar um build sem campos de armazenamento de registros definidos no arquivo de configuração de build, o Cloud Build vai definir logging como LEGACY.

A seguir