Exercício – Monitorar a integridade de seu pipeline

Concluído

Neste exercício, você analisará alguns dos recursos de análise fornecidos pelo Azure Pipelines.

Mateus perguntou à equipe da Tailspin como ela pode lançar mais rapidamente. Criar um pipeline de lançamento automatizado é um ótimo passo para liberações rápidas e confiáveis. À medida que você lança com mais frequência e rapidez, é importante entender a integridade e o histórico de suas versões. Examinar regularmente as tendências de integridade pode ajudá-lo a diagnosticar possíveis problemas antes que eles se tornem críticos.

Antes de dar uma olhada em algumas das análises do pipeline, vamos escutar a equipe da Tailspin em sua reunião matinal.

Como posso acompanhar a integridade do meu pipeline?

É a manhã seguinte. Na reunião da equipe, Paulo e Clara acabaram de demonstrar o pipeline de compilação e de lançamento que eles configuraram.

Alice: Isso é fantástico! O pipeline de compilação foi um ótimo começo, mas eu ainda precisava instalar manualmente o artefato de compilação em meu laboratório para poder testá-lo. Se eu puder obter essas versões em meu ambiente de teste em uma agenda regular, poderei mover novos recursos pela garantia de qualidade com muito mais rapidez.

Clara: Exato. E lembre-se de que sempre podemos expandir nosso pipeline de lançamento para incluir mais fases. A meta é criar um fluxo de trabalho de implantação completo.

Pedro: Um ambiente de preparo seria ótimo. Eu poderia fazer outros testes de estresse antes de apresentarmos novos recursos à gerência para aprovação final.

A equipe está empolgada em ver o que o novo pipeline pode fazer. Todos começam a falar ao mesmo tempo.

Paulo: Estou entusiasmado também. Mas vamos nos concentrar em uma etapa de cada vez. Sim, acho que podemos fazer todas essas alterações, entre outras, mas essa é apenas uma prova de conceito. Vamos trabalhar em expandi-la ao longo do tempo.

Alice: Então, como vamos acompanhar a integridade dos pipelines de lançamento?

Paulo: Lembra-se do painel que criamos para monitorar a integridade do build? Podemos configurar o mesmo tipo de sistema para nossas versões.

Pedro: Mateus vai gostar disso.

Paulo: Vamos adiar a criação de um painel de lançamentos até termos um fluxo de trabalho de lançamentos mais completo. Por enquanto, vamos examinar algumas das análises internas que o Azure Pipelines fornece.

A equipe se reúne em volta do laptop de Paulo.

Quais informações são fornecidas pela análise de pipeline?

Cada pipeline fornece relatórios que incluem métricas, tendências e insights. Esses relatórios podem ajudá-lo a aprimorar a eficiência do pipeline.

Os relatórios incluem:

  • A taxa de aprovação geral do pipeline.
  • A taxa de aprovação de todos os testes no pipeline.
  • A duração média das execuções do pipeline, incluindo as tarefas de build, que levam mais tempo para serem concluídas.

Veja um relatório de exemplo que mostra as falhas de pipeline, as falhas de teste e a duração do pipeline.

A screenshot of Azure Pipelines, showing a sample report that covers many pipeline runs.

Você pode filtrar os resultados para se concentrar em um período específico ou na atividade geral de um branch do GitHub. O Azure DevOps também fornece essas informações como um feed do OData. Use esse feed para publicar relatórios e notificações em sistemas como Power BI, Microsoft Teams ou Slack. Saiba mais sobre os feeds de análise no final deste módulo.

Explorar a análise do pipeline

  1. No Azure DevOps, selecione Pipelines e escolha o seu pipeline.

  2. Selecione a guia Analytics.

    A screenshot of Azure Pipelines, showing the Analytics tab.

  3. Analise as taxas de aprovação e a duração média das execuções de pipeline.

    A screenshot of Azure Pipelines, showing the report overview.

  4. Em Taxa de aprovação de pipeline, selecione Exibir relatório completo para ver o relatório detalhado.

    A screenshot of Azure Pipelines, showing the full report.

Marina: Essas são as informações que eu quero, mas não vejo muitos dados ainda.

Paulo: Correto. Vamos coletar mais dados à medida que realizarmos mais execuções ao longo do tempo. Usaremos esses dados para obter insights e aprender como podemos torná-los mais eficientes.

Clara: Estou vendo que a tarefa npm install leva mais tempo para ser concluída. Talvez possamos fazer com que ela seja executada mais rapidamente armazenando em cache os pacotes npm.

Paulo: Essa é uma ótima ideia! Poderemos investigar isso mais a fundo à medida que tivermos mais execuções de pipeline.