Упражнение. Мониторинг работоспособности конвейера

Завершено

В этом упражнении вы изучите функции аналитики, предоставляемые Azure Pipelines.

Ирвин попросил команду Tailspin ускорить выпуск. Создание конвейера автоматического выпуска — это отличный шаг к быстрому и надежному освобождению. При более частом и быстром выпуске важно понимать работоспособность и историю выпусков. Просмотр тенденций здоровья регулярно помогает диагностировать потенциальные проблемы, прежде чем они становятся критически важными.

Прежде чем взглянуть на некоторые из аналитики конвейера, давайте прослушаем команду Tailspin на их утреннем собрании.

Как отслеживать работоспособность конвейера?

Это следующее утро. На собрании команды Энди и Мара закончили демонстрацию конвейера сборки и выпуска, который они создали.

Амита: Это фантастический! Конвейер сборки был отличным началом, но я все еще должен был вручную установить артефакт сборки в моей лаборатории, чтобы я мог протестировать его. Если я могу получить эти выпуски в тестовую среду в обычном расписании, я могу перемещать новые функции через QA гораздо быстрее.

Мара: Точно! И помните, что мы всегда можем расширить конвейер выпуска, чтобы включить дополнительные этапы. Цель — создать полный рабочий процесс развертывания.

Тим: Промежуточная среда будет отличной. Я мог бы сделать больше стресс-тестирования, прежде чем мы представляем новые функции для управления для окончательного утверждения.

Участники команды захвачены возможностями нового конвейера. Все говорят одновременно, перебивая друг друга.

Энди: Я тоже взволнован. Но давайте сосредоточимся на одном шаге за раз. Да, я думаю, что мы можем внести все эти изменения и многое другое, но это просто доказательство концепции. Мы будем работать над расширением с течением времени.

Амита: Так как мы отслеживаем работоспособность конвейеров выпуска?

Энди: Помните панель мониторинга, созданную для мониторинга работоспособности сборки? Мы можем настроить ту же систему для наших выпусков.

Тим: Ирвин будет люблю это.

Энди: Давайте удерживаем на сборке панели мониторинга выпуска до тех пор, пока у нас не будет полный рабочий процесс выпуска. Теперь рассмотрим некоторые встроенные аналитические данные, которые предоставляет Azure Pipelines.

Команда собирается вокруг ноутбука Энди.

Какие сведения предоставляют аналитика конвейера?

Каждый конвейер предоставляет отчеты, включающие метрики, тенденции и аналитические сведения. Эти отчеты помогут повысить эффективность конвейера.

Отчеты включают:

  • Общая скорость передачи конвейера.
  • Скорость передачи всех тестов в конвейере.
  • Средняя длительность выполнения конвейера; включая задачи сборки, которые занимают больше всего времени.

Ниже приведен пример отчета, показывающий сбои конвейера, сбои тестов и длительность конвейера.

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

Вы можете отфильтровать результаты, чтобы сосредоточиться на определенном периоде времени или на общем действии ветви GitHub. Azure DevOps также предоставляет эти сведения в качестве веб-канала OData. Используйте этот веб-канал для публикации отчетов и уведомлений в таких системах, как Power BI, Microsoft Teams или Slack. Дополнительные сведения об каналах аналитики см. в конце этого модуля.

Изучение аналитики конвейера

  1. В Azure DevOps выберите Pipelines и выберите конвейер.

  2. Перейдите на вкладку "Аналитика ".

    A screenshot of Azure Pipelines, showing the Analytics tab.

  3. Просмотрите скорость передачи и среднюю продолжительность выполнения конвейера.

    A screenshot of Azure Pipelines, showing the report overview.

  4. В разделе "Скорость передачи конвейера" выберите "Просмотреть полный отчет ", чтобы просмотреть подробный отчет.

    A screenshot of Azure Pipelines, showing the full report.

Амита: Это информация, которую я хочу, но я пока не вижу много данных.

Энди: Это правильно. Мы собираем больше данных, так как мы выполняем больше запусков с течением времени. Мы будем использовать эти данные для получения аналитических сведений и узнаем, как сделать его более эффективным.

Мара: Я вижу, что npm install задача занимает самую длинную, чтобы завершить. Возможно, мы можем ускорить его выполнение, кэширование пакетов npm.

Энди: Это отличная идея! Мы можем изучить это дальше, так как у нас есть больше запусков конвейера.