Concetti dei gate di distribuzione
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
I gate di distribuzione in Azure Pipelines vengono aggiunti alle pipeline di rilascio per assicurarsi che le distribuzioni soddisfino criteri specifici prima di procedere. I gate sono essenziali per garantire che le implementazioni siano affidabili e sicure, attraverso verifiche rigorose che portano a versioni software più stabili e sicure.
Le valvole vengono definite nelle condizioni di una fase di rilascio di pre-distribuzione e post-distribuzione. Forniscono un meccanismo per raccogliere automaticamente i segnali di integrità da servizi esterni, ad esempio funzioni di Azure o API REST, per controllare la promozione delle versioni in base a questi segnali. I controlli collaborano con le approvazioni per garantire che gli stakeholder appropriati approvino il rilascio e che il rilascio soddisfi i criteri di qualità e conformità necessari.
Casi d'uso
Alcuni casi d'uso comuni per le porte di distribuzione sono:
- gestione degli eventi imprevisti: assicurarsi che determinati criteri vengano soddisfatti prima di procedere con la distribuzione. Ad esempio, assicurarsi che la distribuzione venga eseguita solo se non esistono bug con priorità zero.
- Cercare approvazioni: eseguire l'integrazione con Microsoft Teams o Slack per notificare agli utenti esterni, ad esempio revisori o responsabili IT, informazioni su una distribuzione e attendere le approvazioni.
- Validazione della qualità: Effettuare query sulle metriche della pipeline, ad esempio la frequenza di passaggio o il *code coverage* e distribuire solo se sono entro una soglia predefinita.
- scansione di sicurezza: eseguire controlli di sicurezza, ad esempio la scansione degli artefatti, la firma del codice e la verifica delle policy. Un gate di distribuzione potrebbe avviare la scansione e attendere il completamento, oppure semplicemente verificarne il completamento.
- 'esperienza utente relativa aldi base: usare la raccolta dei dati del prodotto per garantire la regressione dell'esperienza utente dallo stato di base. Le metriche dell'esperienza utente prima della distribuzione potrebbero essere utilizzate come punto di riferimento.
- Gestione modifiche: attendere il completamento delle procedure di gestione delle modifiche in un sistema come ServiceNow prima di procedere con la distribuzione.
- Integrità dell'infrastruttura: Esegui il monitoraggio e convalida l'infrastruttura rispetto alle regole di conformità dopo la distribuzione, oppure attendi l'utilizzo efficiente delle risorse e un report di sicurezza positivo.
La maggior parte dei parametri di salute varia nel tempo, modificando regolarmente lo stato da sano a malsano e di nuovo a sano. Per tenere conto di tali variazioni, tutti i cancelli vengono rivalutati periodicamente fino a quando tutti hanno esito positivo contemporaneamente. L'esecuzione e la distribuzione del rilascio non procede se tutti i gate non hanno esito positivo nello stesso intervallo e prima del timeout configurato.
Definire un gate per una fase
È possibile abilitare le barriere all'inizio di una fase (condizioni di pre-distribuzione) o alla fine di una fase (condizioni post-distribuzione) o in entrambi i casi. Per ulteriori informazioni, vedere Configurare le porte.
Il Ritardo prima della valutazione è un ritardo all'inizio del processo di valutazione della porta che consente alle porte di inizializzarsi, stabilizzarsi e iniziare a fornire risultati accurati per l'implementazione attuale. Per ulteriori informazioni, vedere i flussi di valutazione del Gate .
- Per controlli di pre-distribuzione, il ritardo sarebbe il tempo necessario per la registrazione di tutti i bug sugli artefatti da distribuire.
- Per controlli post-distribuzione, il ritardo sarebbe dato dal tempo massimo impiegato per permettere all'applicazione distribuita di raggiungere uno stato operativo stabile, il tempo impiegato per l'esecuzione di tutti i test necessari nella fase di distribuzione e il tempo necessario per il rilievo degli imprevisti dopo la distribuzione.
Sono disponibili per impostazione predefinita i seguenti cancelli:
- Invocare la funzione di Azure: attivare l'esecuzione di una funzione di Azure e garantire un completamento riuscito. Per ulteriori informazioni, vedere attività di funzione Azure.
-
Eseguire query sugli avvisi di Azure Monitor: Osservare le regole di avviso del monitoraggio di Azure configurate per gli avvisi attivi. Per altre informazioni, vedere l'attività di Azure Monitor
. - Richiamare l'API REST: effettuare una chiamata a un'API REST e continuare se restituisce una risposta corretta. Per ulteriori informazioni, vedere l'attività Invoke REST API.
- Interrogare gli elementi di lavoro: Assicurarsi che il numero di elementi di lavoro corrispondenti restituiti da una query rientri entro una soglia. Per ulteriori informazioni, vedere l'attività Query Work Items .
- Verificare la conformità ai criteri di Azure: valutare la conformità ai criteri di Azure per le risorse nell'ambito di una sottoscrizione e di un gruppo di risorse specifici e, facoltativamente, a livello di risorsa specifico. Per ulteriori informazioni, vedere l'attività di verifica della conformità dei Criteri di Azure .
È anche possibile creare le vostre porte con le estensioni del Marketplace.
Le opzioni di valutazione applicabili a tutti i portali sono:
- Intervallo di tempo tra la rivalutazione dei cancelli. Intervallo di tempo tra valutazioni successive delle porte. A ogni intervallo di campionamento, le nuove richieste vengono inviate simultaneamente a ogni gate e i nuovi risultati vengono valutati. È consigliabile che l'intervallo di campionamento sia maggiore del tempo di risposta più lungo delle porte configurate, per consentire la ricezione di tutte le risposte ai fini della valutazione.
- Timeout dopo il quale i cancelli hanno esito negativo. Il periodo massimo di valutazione per tutti i punti di controllo. La distribuzione viene rifiutata se viene raggiunto il timeout prima che tutti i gate abbiano esito positivo durante lo stesso intervallo di campionamento.
- Gate e approvazioni. Selezionare l'ordine di esecuzione necessario per controlli e approvazioni, se configurati entrambi. Per le condizioni di pre-distribuzione, l'impostazione predefinita consiste nel richiedere prima le approvazioni manuali (utente), quindi valutare i gate in seguito, evitando al sistema di valutare le funzioni di gate nel caso in cui l'utente rifiuti la distribuzione. Per le condizioni post-distribuzione, l'impostazione predefinita consiste nel valutare i controlli e richiedere approvazioni manuali solo quando tutti i controlli hanno esito positivo, assicurando che tutti i responsabili dell'approvazione dispongano di tutte le informazioni necessarie per approvare il rilascio.
Per ulteriori informazioni sull'analisi dei controlli, consultare Visualizzare i log delle approvazioni e Monitorare e tenere traccia delle distribuzioni.
Esempi di flusso di valutazione dei punti di controllo
Il diagramma seguente illustra il flusso della valutazione del gate in cui, dopo il periodo iniziale di ritardo per la stabilizzazione e tre intervalli di campionamento, la distribuzione viene approvata.
Il diagramma seguente illustra il flusso di valutazione delle porte in cui, dopo il periodo iniziale di ritardo di stabilizzazione, non tutte le porte hanno avuto successo a ogni intervallo di campionamento. In questo caso, dopo la scadenza del periodo di timeout, la distribuzione viene rifiutata.