Lorsque vous exécutez des compilations, Cloud Build collecte et stocke vos journaux de compilation dans un bucket de journaux. En fonction des paramètres du fichier de configuration de compilation, vos journaux de compilation sont stockés dans des buckets Cloud Logging, des buckets Cloud Storage ou dans les deux. Vous pouvez également configurer le type de bucket Logging ou bucket Cloud Storage contenant vos journaux. L'emplacement et le type de votre bucket ont une incidence sur votre capacité à analyser les journaux de compilation et sur le niveau de contrôle que vous exercez sur les paramètres du bucket.
Présentation
Lorsque vous configurez votre fichier de configuration de compilation, tenez compte des points suivants :
Si vous souhaitez contrôler la période de conservation de vos journaux de compilation stockés, envoyez-les à Logging. L'explorateur de journaux de Logging offre également plus d'options pour rechercher des journaux de compilation spécifiques dans un bucket que Cloud Storage. Toutefois, lorsque vous utilisez Logging, il peut y avoir un délai entre le moment où un journal de compilation est généré et celui où Logging le reçoit.
Si vous souhaitez réduire la latence entre le moment où un journal de compilation est généré et celui où Logging le reçoit, envoyez vos journaux de compilation à un bucket dans Cloud Storage.
La propriété de votre bucket a également une incidence sur la façon dont vous pouvez interagir avec les journaux de compilation stockés. Par exemple, un bucket appartenant à un utilisateur vous permet de configurer les paramètres de votre bucket, tandis que les buckets appartenant à Google CloudGoogle Cloud sont créés par et ne peuvent pas être modifiés par les utilisateurs. Logging et Cloud Storage proposent plusieurs options pour configurer le type de bucket qui reçoit vos journaux de compilation.
Emplacement des buckets
Configurez le logging champ dans
votre fichier de configuration de compilation pour déterminer où vos journaux de compilation sont envoyés :
GCS_ONLY: les journaux de compilation sont envoyés aux buckets Cloud Storage.CLOUD_LOGGING_ONLY: les journaux de compilation sont envoyés aux buckets Logging.LEGACY: les journaux de compilation sont envoyés aux buckets dans les deux emplacements. Siloggingn'est pas défini, Cloud Build utilise cette valeur.NONE: les journaux de compilation ne sont pas stockés.
Si vous envoyez vos journaux de compilation à Logging, consultez la section Cloud Logging Configuration de l'acheminement pour en savoir plus sur les options de bucket Logging. Si vous envoyez vos journaux de compilation à Cloud Storage, consultez la section suivante pour en savoir plus sur les buckets Cloud Storage disponibles. La section Points à prendre en compte concernant la propriété des buckets décrit les avantages et les points à prendre en compte pour les buckets en fonction de leur propriété, quel que soit leur emplacement.
Options de bucket dans Cloud Storage
Si vos journaux de compilation sont envoyés à Cloud Storage, Cloud Build
évalue les champs logsBucket
et
defaultLogsBucketBehavior
de votre fichier de configuration de compilation pour déterminer le type de bucket Cloud Storage
qui reçoit les journaux de compilation.
Le champ logsBucket peut contenir n'importe quel type de bucket. Si logsBucket est défini, les journaux sont toujours envoyés à ce bucket dans Cloud Storage, quelle que soit la valeur defaultLogsBucketBehavior. Si logsBucket n'est pas défini, la valeur de defaultLogsBucketBehavior est utilisée comme suit :
REGIONAL_USER_OWNED_BUCKET: les journaux de compilation sont envoyés au bucket créé par Cloud Build et appartenant à l'utilisateur dans Cloud Storage. Ce bucket se trouve dans le projet de l'utilisateur et utilise la même région que la compilation.LEGACY_BUCKET: les journaux de compilation sont envoyés au bucket créé par Cloud Build et Google Cloudappartenant à dans un projet appartenant à Google Cloud. Cette valeur revient à laisser ce champ non défini.
Stockage des journaux lors de la compilation à partir de fichiers Dockerfile
Pour configurer le stockage des journaux de compilation lors de la compilation à partir d'un fichier Dockerfile, incluez l'une des
default-buckets-behavior valeurs d'indicateur lorsque vous exécutez gcloud builds
submit :
regional-user-owned-bucket: les journaux de compilation sont envoyés au bucket créé par Cloud Build et appartenant à l'utilisateur dans Cloud Storage. Ce bucket se trouve dans le projet de l'utilisateur et utilise la même région que la compilation.legacy-bucket: les journaux de compilation sont envoyés au bucket créé par Cloud Build et Google Cloudappartenant à dans un projet appartenant à Google Cloud. Cette valeur revient à laisser ce champ non défini.
Points à prendre en compte concernant la propriété des buckets
Que vous utilisiez Cloud Storage ou Logging, nous vous recommandons d'envoyer vos journaux de compilation à un bucket appartenant à l'utilisateur. Il peut s'agir d'un bucket créé par l'utilisateur (par exemple, si vous définissez logsBucket sur un bucket que vous avez créé) ou d'un bucket créé par Cloud Build, mais appartenant à l'utilisateur (par exemple, si vous avez configuré les paramètres d'un bucket régional appartenant à l'utilisateur). Vous pouvez ainsi modifier certaines propriétés de votre bucket et afficher les journaux dans le bucket à tout moment. Étant donné que les buckets appartenant à Google Cloudse trouvent dans des projets appartenant à
Google Cloud, ils ne peuvent pas être affichés ni modifiés, et
leurs journaux de compilation ne peuvent être consultés que dans la section Journal de compilation de la page
Détails de la compilation.
En général, les buckets créés par l'utilisateur offrent la plus grande flexibilité en termes de configuration des paramètres de bucket, à la fois pendant et après la création du bucket. Toutefois, dans ce cas, vous devez toujours vous assurer que votre bucket créé par l'utilisateur correspond aux besoins de votre compilation. Dans certains cas, comme la gestion des régions de bucket, l'utilisation d'un bucket créé par Cloud Build et appartenant à l'utilisateur vous permet d'envoyer des journaux de compilation à un bucket disponible dans Cloud Storage par défaut et toujours dans la même région que votre compilation. La section suivante fournit plus d'informations sur ce cas d'utilisation :
Points à prendre en compte concernant les régions de bucket
Nous vous recommandons de configurer votre bucket de compilation pour qu'il corresponde à la région de votre compilation, car cette configuration peut vous aider à respecter les exigences de résidence des données. Si vous souhaitez aligner vos régions de cette manière, tenez compte des points suivants :
Les buckets créés par l'utilisateur dans Logging et Cloud Storage utilisent la région définie lors de la création du bucket. Si vous définissez un bucket créé par l'utilisateur comme valeur
loggingde votre compilation, assurez-vous que sa région correspond à la région de votre compilation.Si vous avez configuré votre journal de compilation pour qu'il utilise des buckets régionaux appartenant à l'utilisateur dans Cloud Storage, vos journaux de compilation sont toujours envoyés à un bucket dans la même région que votre compilation.
Les buckets appartenant àGoogle Cloudsont définis sur une région définie par Google Cloud. Par conséquent, cette région ne correspond pas toujours à la région de votre compilation.
Ajouter defaultLogsBucketBehavior à des fichiers de configuration de compilation existants
Si vous ajoutez l'option defaultLogsBucketBehavior à un fichier de configuration de compilation existant dans lequel vous avez déjà configuré logging ou logsBucket, nous vous recommandons d'évaluer tous vos paramètres de stockage des journaux pour vous assurer que vos journaux sont stockés comme prévu. Cloud Build ignore defaultLogsBucketBehavior si l'une des conditions suivantes est remplie :
loggingest défini surCLOUD_LOGGING_ONLYouNONE.loggingest défini surGCS_ONLYouLEGACY, etlogsBucketest défini.
Si vous exécutez une compilation sans aucun champ de stockage de journaux défini dans votre fichier de configuration de compilation, Cloud Build définit logging sur LEGACY.
Étape suivante
- Découvrez comment stocker, afficher et supprimer des journaux de compilation.
- Découvrez les journaux d'audit créés par Cloud Build.
- Découvrez comment afficher les résultats de la compilation.
- Apprenez-en plus sur les autorisations IAM pour Cloud Build permissions.