Esercizio - Monitorare l'integrità della pipeline
In questo esercizio è possibile esaminare alcune funzionalità di analisi offerte da Azure Pipelines.
Irwin ha chiesto al team di Tailspin di accelerare la fase di rilascio. La creazione di una pipeline di versione automatizzata è un ottimo passo in avanti verso un rilascio rapido e affidabile. Man mano che le versioni si susseguono in modo rapido e frequente, diventa fondamentale riconoscerne l'integrità e la cronologia. Analizzare regolarmente le tendenze di integrità può consentire di diagnosticare potenziali problemi prima che diventino critici.
Prima di esaminare alcune analisi della pipeline, si seguirà la discussione del team di Tailspin durante la riunione del mattino.
Come è possibile monitorare l'integrità dell'intera pipeline?
Nella riunione del giorno successivo. Andy e Mara completano la dimostrazione della pipeline di compilazione e di versione che hanno configurato come PoC.
Amita: Questo è fantastico! La pipeline di compilazione ha costituito un ottimo punto di partenza, tuttavia, è stato necessario installare manualmente l'artefatto di compilazione nel lab per poterlo testare. Se avessi regolarmente a disposizione queste versioni nel mio ambiente di test, potrei eseguire il controllo di qualità sulle nuove funzionalità molto più velocemente.
Mara: Esattamente. Inoltre, è sempre possibile espandere la pipeline di versione in modo che includa più fasi. L'obiettivo è creare un flusso di lavoro di distribuzione completo.
Tim: Un ambiente di gestione temporanea potrebbe essere molto utile. In questo modo potrei eseguire test di stress aggiuntivi prima di presentare le nuove funzionalità al team di gestione per l'approvazione finale.
I membri del team sono entusiasti di vedere cosa può fare la nuova pipeline. Iniziano a parlare tutti contemporaneamente.
Andy: Sono entusiasta anche io. Ma concentriamoci su un passaggio alla volta. Se è vero che è possibile apportare molte modifiche ed eseguire molte altre operazioni, si tratta solo di un PoC. Lavoreremo all'ampliamento nel corso del tempo.
Amita: Come si tiene traccia dell'integrità delle pipeline di versione?
Andy: Ricordi il dashboard creato per monitorare l'integrità delle build? È possibile configurare lo stesso tipo di sistema per le versioni.
Tim: Irwin ne sarà felice.
Andy: Tenere premuto la creazione di un dashboard di versione fino a quando non è disponibile un flusso di lavoro di versione completo. Per il momento, esaminiamo alcune delle analisi predefinite disponibili in Azure Pipelines.
Il team si riunisce intorno ad Andy.
Quali informazioni è possibile ottenere dalle analisi della pipeline?
Ogni pipeline fornisce report che includono metriche, tendenze e informazioni dettagliate. Questi report consentono di migliorare l'efficienza della pipeline.
I report includono:
- La percentuale di superamento complessiva della pipeline.
- Frequenza di superamento di tutti i test nella pipeline.
- La durata media delle esecuzioni della pipeline, incluse le attività di compilazione, che richiedono un tempo di completamento più lungo.
Ecco un report di esempio che mostra gli errori della pipeline, gli errori di test e la durata della pipeline.
È possibile filtrare i risultati per concentrarsi su un periodo di tempo specifico o sull'attività complessiva di un ramo GitHub. Azure DevOps offre anche queste informazioni come feed OData. È possibile usare questo feed per pubblicare report e notifiche a sistemi come Power BI, Microsoft Teams o Slack. Alla fine di questo modulo sono disponibili altre informazioni sui feed di analisi.
Esaminare le analisi della pipeline
In Azure DevOps selezionare Pipeline e quindi seleziona la pipeline.
Selezionare la scheda Analisi.
Si notino le percentuali di superamento e la durata media delle esecuzioni della pipeline.
In Velocità di passaggio della pipeline selezionare Visualizza report completo per visualizzare il report dettagliato.
Amita: Sono le informazioni di cui ho bisogno, ma non vedo ancora molti dati.
Andy: Esatto. Con un maggior numero di esecuzioni è possibile raccogliere più dati. Questi dati verranno usati per ottenere informazioni dettagliate e scoprire come renderli più efficienti.
Mara: Vedo che l'attività npm install
richiede più tempo per il completamento. Ad esempio, è possibile velocizzare l'esecuzione memorizzando nella cache i pacchetti npm.
Andy: è un'ottima idea! È possibile esaminarlo ulteriormente man mano che sono disponibili altre esecuzioni della pipeline.