Opções de armazenamento de registros de build

Quando você executa builds, o Cloud Build coleta e armazena os registros de build em um bucket de registros. Com base nas configurações do arquivo de configuração do 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 bucket do Logging ou do Cloud Storage que contém os registros. O local e o tipo do bucket afetam sua capacidade de analisar os registros de build e a quantidade 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 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 quando o Logging o recebe.

  • Se você quiser reduzir a latência entre o momento em que um registro de build é gerado e quando ele fica disponível no Cloud Storage, envie os registros de build 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 configurações do seu bucket, enquanto os buckets de propriedade do Google CloudGoogle são criados pelo Google Cloud Google e 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

Configure o campo logging no arquivo de configuração do build para determinar para onde os registros de build sã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 em ambos os 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 Cloud Logging configuração de roteamento 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 do Cloud Storage disponíveis. A seção Considerações sobre a propriedade do bucket descreve os benefícios e as considerações para buckets com base na propriedade do bucket, independentemente do local do bucket.

Opções de bucket no Cloud Storage

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

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

  • 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 do build.
  • LEGACY_BUCKET: os registros de build são enviados para o bucket criado pelo Cloud Build e Google Cloudde propriedade do Google em um projeto Google Cloudde propriedade do Google. Esse valor é o mesmo que deixar esse campo indefinido.

Armazenamento de registros ao criar usando Dockerfiles

Para configurar o armazenamento de registros de build ao criar usando um Dockerfile, inclua um dos default-buckets-behavior valores de flag 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 do build.
  • legacy-bucket: os registros de build são enviados para o bucket criado pelo Cloud Build e Google Cloudde propriedade do Google em um projeto Google Cloudde propriedade do Google. Esse valor é o mesmo que deixar esse campo indefinido.

Considerações sobre a propriedade do bucket

Recomendamos enviar os registros de build para um bucket de propriedade do usuário, independentemente de você usar o Cloud Storage ou o Logging. Ele pode ser um bucket criado pelo usuário (por exemplo, se você definir logsBucket como um bucket criado) ou um bucket criado pelo Cloud Build, mas de propriedade do usuário (por exemplo, se você configurou as configurações de um bucket regional de propriedade do usuário). Dessa forma, é possível editar determinadas propriedades do bucket e visualizar os registros no bucket a qualquer momento. Como os buckets de propriedade do Google CloudGoogle estão em Google Cloudprojetos de propriedade do Google, eles não podem ser visualizados ou editados, e os registros de build só podem ser visualizados na seção Registro de build da página Detalhes do build.

Em geral, os buckets criados pelo usuário oferecem mais flexibilidade em termos de configuração das configurações do bucket durante e após a criação do bucket. No entanto, nesse caso, você sempre precisa garantir que o bucket criado pelo usuário esteja alinhado às necessidades do build. Em alguns casos, como o gerenciamento de regiões de bucket, o uso de um bucket criado pelo Cloud Build e de propriedade do usuário permite enviar registros de build para um bucket que está disponível no Cloud Storage por padrão e sempre na mesma região do build. A seção a seguir fornece mais informações sobre esse caso de uso:

Considerações sobre regiões de buckets

Recomendamos configurar o bucket de build para que ele fique alinhado à região do build, já que essa configuração pode ajudar você a atender aos requisitos de residência de dados. Se você quiser alinhar as 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 serão sempre 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 pode estar alinhada à região do build.

Como adicionar defaultLogsBucketBehavior a arquivos de configuração de build atuais

Se você estiver adicionando a opção defaultLogsBucketBehavior a um arquivo de configuração de build atual em que já configurou logging ou logsBucket, recomendamos avaliar todas as configurações de armazenamento de registros para garantir que os registros 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 do build, o Cloud Build vai definir logging como LEGACY.

A seguir