Quando esegui le build, Cloud Build raccoglie e archivia i log di build in un bucket di log. In base alle impostazioni del file di configurazione della build, i log di build vengono archiviati nei bucket di Cloud Logging, nei bucket di Cloud Storage o in entrambe le località. Puoi anche configurare il tipo di bucket Cloud Storage o di Logging che contiene i log. La località e il tipo di bucket influiscono sulla tua capacità di analizzare i log di build e sulla quantità di controllo che hai sulle impostazioni del bucket.
Panoramica
Quando configuri il file di configurazione della build, tieni presente quanto segue:
Se vuoi controllare il periodo di conservazione dei log di build archiviati, inviali a Logging. Il visualizzatore log in Logging offre anche più opzioni per cercare log di build specifici in un bucket rispetto a Cloud Storage. Tuttavia, quando utilizzi Logging, potrebbe esserci un ritardo tra il momento in cui viene generato un log di build e il momento in cui Logging lo riceve.
Se vuoi ridurre la latenza tra il momento in cui viene generato un log di build e il momento in cui è disponibile in Cloud Storage, invia i log di build a un bucket in Cloud Storage.
La proprietà del bucket influisce anche sul modo in cui puoi interagire con i log di build archiviati. Ad esempio, un bucket di proprietà dell'utente ti consente di configurare le impostazioni del tuo bucket, mentre i bucket di proprietà di Google Cloudsono creati da Google Cloud e non possono essere modificati dagli utenti. Logging e Cloud Storage offrono diverse opzioni per configurare il tipo di bucket che riceve i log di build.
Località dei bucket
Configura il campo logging nel
file di configurazione della build per determinare dove vengono inviati i log di build:
GCS_ONLY: i log di build vengono inviati ai bucket di Cloud Storage.CLOUD_LOGGING_ONLY: i log di build vengono inviati ai bucket di Logging.LEGACY: i log di build vengono inviati ai bucket in entrambe le località. Seloggingnon è definito, Cloud Build utilizza questo valore.NONE: i log di build non vengono archiviati.
Se invii i log di build a Logging, consulta Configurazione del routing di Cloud Logging per informazioni sulle opzioni dei bucket di Logging. Se invii i log di build a Cloud Storage, consulta la sezione seguente per informazioni sui bucket di Cloud Storage disponibili. La sezione Considerazioni sulla proprietà dei bucket descrive i vantaggi e le considerazioni per i bucket in base alla proprietà del bucket, indipendentemente dalla località del bucket.
Opzioni dei bucket in Cloud Storage
Se i log di build vengono inviati a Cloud Storage, Cloud Build
valuta i campi logsBucket
e
defaultLogsBucketBehavior
nel file di configurazione della build per determinare il tipo di bucket di Cloud Storage
che riceve i log di build.
Il campo logsBucket può avere qualsiasi tipo di bucket. Se logsBucket è definito, i log vengono sempre inviati a quel bucket in Cloud Storage, indipendentemente dal valore di defaultLogsBucketBehavior. Se logsBucket non è definito, viene utilizzato il valore di defaultLogsBucketBehavior come segue:
REGIONAL_USER_OWNED_BUCKET: i log di build vengono inviati al bucket di proprietà dell'utente creato da Cloud Build in Cloud Storage. Questo bucket si trova nel progetto dell'utente e utilizza la stessa regione della build.LEGACY_BUCKET: i log di build vengono inviati al bucket di proprietà di creato da Cloud Build e Google Cloudin un progetto di proprietà di Google Cloud. Questo valore è uguale a lasciare questo campo non definito.
Archiviazione dei log durante la creazione da Dockerfile
Per configurare l'archiviazione dei log di build durante la creazione da un Dockerfile, includi uno dei
default-buckets-behavior valori del flag quando esegui gcloud builds
submit:
regional-user-owned-bucket: i log di build vengono inviati al bucket di proprietà dell'utente creato da Cloud Build in Cloud Storage. Questo bucket si trova nel progetto dell'utente e utilizza la stessa regione della build.legacy-bucket: i log di build vengono inviati al bucket di proprietà di creato da Cloud Build e Google Cloudin un progetto di proprietà di Google Cloud. Questo valore è uguale a lasciare questo campo non definito.
Considerazioni sulla proprietà dei bucket
Indipendentemente dal fatto che utilizzi Cloud Storage o Logging, ti consigliamo di inviare i log di build a un bucket di proprietà dell'utente. Può trattarsi di un bucket creato dall'utente (ad esempio, se imposti logsBucket su un bucket che hai creato) o di un bucket creato da Cloud Build ma di proprietà dell'utente (ad esempio, se hai configurato le impostazioni per un bucket regionale di proprietà dell'utente). In questo modo, puoi modificare determinate proprietà del bucket e visualizzare i log nel bucket in qualsiasi momento. Poiché i bucket di proprietà di Google Cloudsi trovano in
Google Cloudprogetti di proprietà di, i relativi bucket non possono essere visualizzati o modificati e
i relativi log di build possono essere visualizzati solo nella sezione Log di build della pagina
Dettagli build .
In generale, i bucket creati dall'utente offrono la massima flessibilità in termini di configurazione delle impostazioni dei bucket sia durante che dopo la creazione dei bucket. Tuttavia, in questo caso, devi sempre assicurarti che il bucket creato dall'utente sia in linea con le esigenze della build. In alcuni casi, ad esempio per la gestione delle regioni dei bucket, l'utilizzo di un bucket di proprietà dell'utente creato da Cloud Build ti consente di inviare i log di build a un bucket disponibile in Cloud Storage per impostazione predefinita e sempre nella stessa regione della build. La sezione seguente fornisce ulteriori informazioni su questo caso d'uso:
Considerazioni sulle regioni dei bucket
Ti consigliamo di configurare il bucket di build in modo che sia allineato alla regione della build, in quanto questa configurazione può aiutarti a rispettare i requisiti di residenza dei dati. Se vuoi allineare le regioni in questo modo, tieni presente quanto segue:
I bucket creati dall'utente in Logging e Cloud Storage utilizzano la regione definita durante la creazione del bucket. Se imposti un bucket creato dall'utente come valore
loggingdella build, assicurati che la sua regione corrisponda alla regione della build.Se hai configurato il log di build in modo da utilizzare i bucket regionali di proprietà dell'utente in Cloud Storage, i log di build vengono sempre inviati a un bucket nella stessa regione della build.
I bucket di proprietà diGoogle Cloudsono impostati su una regione definita da Google Cloud. Di conseguenza, questa regione potrebbe non essere sempre allineata alla regione della build.
Aggiungere defaultLogsBucketBehavior ai file di configurazione della build esistenti
Se stai aggiungendo l'opzione defaultLogsBucketBehavior a un file di configurazione della build esistente in cui hai configurato in precedenza logging o logsBucket, ti consigliamo di valutare tutte le impostazioni di archiviazione dei log per assicurarti che i log vengano archiviati come previsto. Cloud Build ignora defaultLogsBucketBehavior se si verifica una delle seguenti condizioni:
loggingè impostato suCLOUD_LOGGING_ONLYoNONE.loggingè impostato suGCS_ONLYoLEGACYelogsBucketè definito.
Se esegui una build senza campi di archiviazione dei log definiti nel file di configurazione della build, Cloud Build imposta logging su LEGACY.
Passaggi successivi
- Scopri come archiviare, visualizzare ed eliminare i log di build
- Scopri di più sui log di controllo creati da Cloud Build.
- Scopri come visualizzare i risultati della build.
- Scopri di più sulle autorizzazioni IAM di Cloud Build permissions.