Cuando ejecutas compilaciones, Cloud Build recopila y almacena los registros de compilación en un bucket de registros. Según la configuración del archivo de configuración de compilación, los registros de compilación se almacenan en buckets de Cloud Logging, buckets de Cloud Storage o en ambas ubicaciones. También puedes configurar el tipo de bucket de Logging o Cloud Storage que contiene tus registros. La ubicación y el tipo de tu bucket afectan tu capacidad para analizar los registros de compilación y la cantidad de control que tienes sobre la configuración del bucket.
Descripción general
Cuando configures tu archivo de configuración de compilación, ten en cuenta lo siguiente:
Si deseas controlar el período de retención de los registros de compilación almacenados, envíalos a Logging. El Visor de registros en Logging también proporciona más opciones para buscar un bucket de registros de compilación específicos en comparación con Cloud Storage. Sin embargo, cuando usas Logging, puede haber una demora entre el momento en que se genera un registro de compilación y el momento en que Logging lo recibe.
Si deseas reducir la latencia entre el momento en que se genera un registro de compilación y el momento en que Logging lo recibe, envía los registros de compilación a un bucket en Cloud Storage.
La propiedad de tu bucket también afecta la forma en que puedes interactuar con los registros de compilación almacenados. Por ejemplo, un bucket propiedad del usuario te permite configurar los parámetros de configuración de tu bucket, mientras que los buckets propiedad de Google Cloudson creados por Google Cloud y los usuarios no pueden cambiarlos. Logging y Cloud Storage tienen varias opciones para configurar el tipo de bucket que recibe tus registros de compilación.
Ubicaciones de buckets
Configura el logging campo en
tu archivo de configuración de compilación para determinar a dónde se envían los registros de compilación:
GCS_ONLY: Los registros de compilación se envían a buckets de Cloud Storage.CLOUD_LOGGING_ONLY: Los registros de compilación se envían a buckets de Logging.LEGACY: Los registros de compilación se envían a buckets en ambas ubicaciones. Siloggingno está definido, Cloud Build usa este valor.NONE: Los registros de compilación no se almacenan.
Si envías tus registros de compilación a Logging, consulta Cloud Logging configuración de enrutamiento para obtener información sobre las opciones de bucket de Logging. Si envías tus registros de compilación a Cloud Storage, consulta la siguiente sección para obtener información sobre los buckets de Cloud Storage disponibles. En la sección Consideraciones para la propiedad del bucket, se describen los beneficios y las consideraciones para los buckets según la propiedad del bucket, independientemente de la ubicación del bucket.
Opciones de bucket en Cloud Storage
Si los registros de compilación se envían a Cloud Storage, Cloud Build
evalúa los campos logsBucket
y
defaultLogsBucketBehavior
en tu archivo de configuración de compilación para determinar el tipo de bucket de Cloud Storage
que recibe los registros de compilación.
El campo logsBucket puede tener cualquier tipo de bucket. Si logsBucket está definido, los registros siempre se envían a ese bucket en Cloud Storage, independientemente del valor de defaultLogsBucketBehavior. Si logsBucket no está definido, el valor de defaultLogsBucketBehavior se usa de la siguiente manera:
REGIONAL_USER_OWNED_BUCKET: Los registros de compilación se envían al bucket creado por Cloud Build y propiedad del usuario en Cloud Storage. Este bucket está en el proyecto del usuario y usa la misma región que la compilación.LEGACY_BUCKET: Los registros de compilación se envían al bucket creado por Cloud Build y Google Cloudpropiedad de en un proyecto Google Cloudpropiedad de. Este valor es el mismo que dejar este campo sin definir.
Almacenamiento de registros cuando se compila desde Dockerfiles
Para configurar el almacenamiento de registros de compilación cuando se compila desde un Dockerfile, incluye uno de los
default-buckets-behavior valores de marca cuando ejecutes gcloud builds
submit:
regional-user-owned-bucket: Los registros de compilación se envían al bucket creado por Cloud Build y propiedad del usuario en Cloud Storage. Este bucket está en el proyecto del usuario y usa la misma región que la compilación.legacy-bucket: Los registros de compilación se envían al bucket creado por Cloud Build y Google Cloudpropiedad de en un proyecto propiedad de Google Cloud. Este valor es el mismo que dejar este campo sin definir.
Consideraciones para la propiedad del bucket
Independientemente de si usas Cloud Storage o Logging, te recomendamos que envíes los registros de compilación a un bucket propiedad del usuario. Puede ser un bucket creado por el usuario (por ejemplo, si configuras logsBucket en un bucket que creaste) o un bucket creado por Cloud Build, pero propiedad del usuario (por ejemplo, si configuraste parámetros para un bucket regional propiedad del usuario). De esta manera, puedes editar ciertas propiedades de tu bucket y ver los registros en el bucket en cualquier momento. Debido a que los buckets propiedad de Google Cloudestán en
Google Cloudproyectos propiedad de, no se pueden ver ni editar, y
sus registros de compilación solo se pueden ver en la sección Registro de compilación de la página
Detalles de la compilación.
En general, los buckets creados por el usuario proporcionan la mayor flexibilidad en términos de configuración de los parámetros del bucket durante y después de la creación del bucket. Sin embargo, en este caso, siempre debes asegurarte de que tu bucket creado por el usuario se alinee con las necesidades de tu compilación. En algunos casos, como la administración de regiones de buckets, el uso de un bucket creado por Cloud Build y propiedad del usuario te permite enviar registros de compilación a un bucket que está disponible en Cloud Storage de forma predeterminada y siempre en la misma región que tu compilación. En la siguiente sección, se proporciona más información sobre este caso de uso:
Consideraciones para las regiones de bucket
Te recomendamos que configures tu bucket de compilación para que se alinee con la región de tu compilación, ya que esta configuración puede ayudarte a cumplir con los requisitos de residencia de datos. Si deseas alinear tus regiones de esta manera, ten en cuenta lo siguiente:
Los buckets creados por el usuario en Logging y Cloud Storage usan la región definida durante la creación del bucket. Si configuras un bucket creado por el usuario como el valor
loggingde tu compilación, asegúrate de que su región coincida con la región de tu compilación.Si configuraste tu registro de compilación para usar buckets regionales propiedad del usuario en Cloud Storage, los registros de compilación siempre se enviarán a un bucket en la misma región que tu compilación.
Los buckets propiedad deGoogle Cloudse configuran en una región definida por Google Cloud. Como resultado, es posible que esta región no siempre se alinee con la región de tu compilación.
Agrega defaultLogsBucketBehavior a los archivos de configuración de compilación existentes
Si agregas la opción defaultLogsBucketBehavior a un archivo de configuración de compilación existente en el que configuraste previamente logging o logsBucket, te recomendamos que evalúes todos los parámetros de configuración de almacenamiento de registros para asegurarte de que los registros se almacenen según lo previsto. Cloud Build ignora defaultLogsBucketBehavior si se cumple alguna de las siguientes condiciones:
loggingse establece enCLOUD_LOGGING_ONLYoNONE.loggingse establece enGCS_ONLYoLEGACY, ylogsBucketestá definido.
Si ejecutas una compilación sin campos de almacenamiento de registros definidos en tu archivo de configuración de compilación, Cloud Build establece logging en LEGACY.
¿Qué sigue?
- Aprende a almacenar, ver y borrar registros de compilación.
- Obtén más información sobre los registros de auditoría creados por Cloud Build.
- Aprende a ver resultados de compilación.
- Obtén más información sobre los permisos de IAM de Cloud Build.