Attività di controllo di distribuzione

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

I controlli consentono la raccolta automatica di segnali di integrità provenienti da servizi esterni e quindi alzano di livello il rilascio quando tutti i segnali hanno esito positivo o interrompono la distribuzione in caso di timeout. In genere, i controlli vengono usati in connessione con la gestione degli eventi imprevisti, la gestione dei problemi, la gestione delle modifiche, il monitoraggio e i sistemi di approvazione esterni.

Utilizzare casi

Alcuni casi d'uso comuni per i controlli 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.
  • Richiedere le approvazioni: notificare agli utenti esterni, ad esempio reparti legali, revisori o responsabili IT, una distribuzione integrando con altri servizi, ad esempio Microsoft Teams o Slack, e attendere le approvazioni.
  • Convalida della qualità: eseguire query sulle metriche della pipeline, ad esempio la frequenza di superamento o il code coverage e distribuirne la distribuzione solo se sono entro una soglia predefinita.
  • Analisi della sicurezza: eseguire controlli di sicurezza, ad esempio l'analisi degli artefatti, la firma del codice e il controllo dei criteri. Un gate di distribuzione potrebbe avviare l'analisi e attendere il completamento o semplicemente controllare il completamento.
  • Esperienza utente relativa alla baseline: l'uso dei dati di telemetria del prodotto garantisce che l'esperienza utente non sia regredita dallo stato di base. Le metriche dell'esperienza utente prima che la distribuzione possa essere usata come baseline.
  • Gestione delle modifiche: attendere il completamento delle procedure di gestione delle modifiche in un sistema come ServiceNow prima di procedere con la distribuzione.
  • Integrità dell'infrastruttura: eseguire il monitoraggio e convalidare l'infrastruttura in base alle regole di conformità dopo la distribuzione oppure attendere l'utilizzo integro delle risorse e un report di sicurezza positivo.

La maggior parte dei parametri di integrità varia nel tempo, modificando regolarmente lo stato da integro a non integro e torna a integro. 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 controlli non hanno esito positivo nello stesso intervallo e prima del timeout configurato.

Definire un gate per una fase

È possibile abilitare i controlli all'inizio di una fase (condizioni di pre-distribuzione) o alla fine di una fase (condizioni post-distribuzione) o per entrambi. Per altri dettagli, vedere Configurare i controlli .

Il ritardo prima della valutazione è un ritardo di tempo all'inizio del processo di valutazione gate che consente ai gate di inizializzare, stabilizzare e iniziare a fornire risultati accurati per la distribuzione corrente. per altri dettagli, vedere Controllare i flussi di valutazione.

Screenshot che mostra il ritardo prima della funzionalità di valutazione nei controlli.

  • Per i controlli di pre-distribuzione, il ritardo sarebbe il tempo necessario per la registrazione di tutti i bug rispetto agli artefatti distribuiti.
  • Per i controlli post-distribuzione, il ritardo sarebbe il massimo del tempo impiegato per raggiungere uno stato operativo stabile dell'app distribuita, il tempo impiegato per l'esecuzione di tutti i test necessari nella fase distribuita e il tempo necessario per registrare gli eventi imprevisti dopo la distribuzione.

Di seguito sono elencate le attività di controllo disponibili per impostazione predefinita:

  • Richiamare la funzione di Azure: attivare l'esecuzione di una funzione di Azure e assicurarsi un completamento corretto. Per informazioni dettagliate, vedere Attività funzione di Azure.
  • Eseguire query sugli avvisi di Monitoraggio di Azure: osservare le regole di avviso di Monitoraggio di Azure configurate per gli avvisi attivi. Per informazioni dettagliate, vedere Attività monitoraggio di Azure.
  • Richiamare l'API REST: effettuare una chiamata a un'API REST e continuare se restituisce una risposta corretta. Per informazioni dettagliate, vedere Attività Richiama API REST.
  • Query Elementi di lavoro: verificare che il numero di elementi di lavoro corrispondenti restituiti da una query sia compreso in una soglia. Per informazioni dettagliate, vedere Attività Esegui query su elementi di lavoro.
  • Valutazione della sicurezza e della conformità: valutare Criteri di Azure conformità per le risorse nell'ambito di una determinata sottoscrizione e gruppo di risorse e facoltativamente a un livello di risorsa specifico. Per informazioni dettagliate, vedere Attività Controlla conformità di Criteri di Azure.

Screenshot che mostra i controlli predefiniti.

È anche possibile creare attività di controllo personalizzate con le estensioni del Marketplace.

Le opzioni di valutazione applicabili a tutti i controlli sono:

  • Tempo tra la rivalutazione dei cancelli. Intervallo di tempo tra valutazioni successive dei cancelli. 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 tipico più lungo dei controlli configurati per consentire la ricezione di tutte le risposte per la valutazione.
  • Timeout dopo il quale i controlli hanno esito negativo. Periodo di valutazione massimo per tutti i controlli. La distribuzione verrà rifiutata se il timeout viene raggiunto prima che tutti i controlli abbiano esito positivo durante lo stesso intervallo di campionamento.
  • Controlli e approvazioni. Selezionare l'ordine di esecuzione richiesto per i controlli e le approvazioni se sono stati configurati entrambi. Per le condizioni di pre-distribuzione, l'impostazione predefinita consiste nel richiedere prima le approvazioni manuali (utente), quindi valutare i controlli in seguito. In questo modo il sistema non valuta le funzioni di controllo se la versione viene rifiutata dall'utente. 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. Ciò garantisce che i responsabili approvazione dispongano di tutte le informazioni necessarie per approvare.

Per altre informazioni sull'analisi dei controlli, vedere Visualizzare i log delle approvazioni e Monitorare e tenere traccia delle distribuzioni .

Esempi di flusso di valutazione gate

Il diagramma seguente illustra il flusso della valutazione gate in cui, dopo il periodo di ritardo di stabilizzazione iniziale e tre intervalli di campionamento, la distribuzione viene approvata.

Screenshot che mostra il diagramma del flusso di valutazione dei gate.

Il diagramma seguente illustra il flusso di valutazione del gate in cui, dopo il periodo di ritardo di stabilizzazione iniziale, non tutti i cancelli hanno avuto esito positivo a ogni intervallo di campionamento. In questo caso, dopo la scadenza del periodo di timeout, la distribuzione viene rifiutata.

Screenshot che mostra esempi di approvazioni e errori di controllo.

Risorse