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 della build vengono archiviati nei bucket Cloud Logging, nei bucket Cloud Storage o in entrambe le posizioni. Puoi anche configurare il tipo di bucket Cloud Storage o Logging che contiene i log. La posizione e il tipo di bucket influiscono sulla tua capacità di analizzare i log di build e sul livello di controllo che hai sulle impostazioni del bucket.
Panoramica
Quando configuri il file di configurazione della build, considera quanto segue:
Se vuoi controllare il periodo di conservazione dei log di build archiviati, inviali a Logging. Logs Viewer in Logging offre anche più opzioni per cercare in un bucket log di build specifici rispetto a Cloud Storage. Tuttavia, quando utilizzi Logging, potrebbe verificarsi 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 Logging lo riceve, 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 bucket, mentre i bucket di proprietà di Google Cloudvengono creati da Google Cloude 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 della build:
GCS_ONLY: i log di build vengono inviati ai bucket Cloud Storage.CLOUD_LOGGING_ONLY: i log di build vengono inviati ai bucket 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 Logging. Se invii i log di build a Cloud Storage, consulta la sezione seguente per informazioni sui bucket Cloud Storage disponibili. La sezione Considerazioni per la proprietà del bucket descrive i vantaggi e le considerazioni per i bucket in base alla proprietà del bucket, indipendentemente dalla posizione del bucket.
Opzioni del 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 Cloud Storage che riceve i log di build.
Il campo logsBucket può contenere 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 nel seguente modo:
REGIONAL_USER_OWNED_BUCKET: i log di build vengono inviati al bucket di Cloud Storage creato da Cloud Build e di proprietà dell'utente. 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 creato da Cloud Build e di proprietà di Google Cloudin un progetto di proprietà di Google Cloud. Questo valore equivale a lasciare il 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 valori del flag default-buckets-behavior quando esegui gcloud builds
submit:
regional-user-owned-bucket: i log di build vengono inviati al bucket di Cloud Storage creato da Cloud Build e di proprietà dell'utente. 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 creato da Cloud Build e di proprietà di Google Cloudin un progetto di proprietà di Google Cloud. Questo valore equivale a lasciare il 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 progetti di proprietà diGoogle Cloud, i bucket non possono essere visualizzati o modificati e i log di build possono essere visualizzati solo nella sezione Log di build della pagina Dettagli build.
In generale, i bucket creati dagli utenti offrono la massima flessibilità in termini di configurazione delle impostazioni del bucket sia durante che dopo la creazione. 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 la gestione delle regioni dei bucket, l'utilizzo di un bucket creato da Cloud Build e di proprietà dell'utente 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 maggiori 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 dagli utenti 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 regione corrisponda a quella della build.Se hai configurato il log di build in modo che utilizzi 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.
Aggiunta di defaultLogsBucketBehavior ai file di configurazione della build esistenti
Se aggiungi 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 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.