Использование Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Azure Pipelines поддерживает непрерывную интеграцию (CI) и непрерывную доставку (CD) для непрерывного тестирования, сборки и развертывания кода. Для этого необходимо определить конвейер.

Последний способ сборки конвейеров — с редактором конвейера YAML. Классические конвейеры также можно использовать с классическим редактором.

Автоматизация тестов, сборок и доставки

Непрерывная интеграция (CI) автоматизирует тесты и сборки для проекта. CI помогает перехватывать ошибки или проблемы в начале цикла разработки, когда они проще и быстрее устраняются. В системах непрерывной интеграции создаются так называемые артефакты. Они используются конвейерами непрерывной доставки для автоматического развертывания.

Непрерывная доставка автоматически развертывает и тестирует код на нескольких этапах, чтобы повысить качество. Системы непрерывной интеграции создают артефакты, готовые для развертывания, которые включают инфраструктуру и приложения. В автоматизированных конвейерах выпуска эти артефакты используются для выпуска новых версий и исправлений в выбранном целевом объекте.

Непрерывная интеграция (CI) Непрерывная поставка (CD)
— увеличение охвата кода
— ускорить сборку путем разделения тестов и запусков сборки
— автоматически убедитесь, что вы не отправляете неисправный код
— непрерывное выполнение тестов
— автоматическое развертывание кода в рабочей среде
— Убедитесь, что целевые объекты развертывания имеют последний код
— Использование тестового кода из процесса CI

Определение конвейеров с помощью синтаксиса YAML

Вы определяете конвейер в файле YAML, который вызывается azure-pipelines.yml с остальными приложениями.

Встроенный образ YAML конвейеров

  • Версия конвейера связана с кодом. Он следует той же структуре ветвления. Проверка изменений осуществляется с помощью проверок кода в запросах на вытягивание и политиках построения ветви.
  • Каждая ветвь, которую вы используете, может изменить конвейер, изменив azure-pipelines.yml файл. Дополнительные сведения о ветвях для конвейеров YAML.
  • Изменения в процессе сборки могут привести к сбою или непредвиденному результату. Так как изменения записываются в системе управления версиями с остальной частью базы кода, можно легко выявить проблему.

Выполните следующие основные действия.

  1. Настройте Azure Pipelines для использования репозитория Git.
  2. Измените azure-pipelines.yml файл, чтобы определить сборку.
  3. Отправьте код в репозиторий системы управления версиями. Это действие запускает триггер по умолчанию для сборки и развертывания, а затем для мониторинга результатов.

Теперь код обновлен, создан, протестирован и упакован. Его можно развернуть на любом целевом объекте.

Определение конвейеров с помощью классического интерфейса

Создание и настройка конвейеров на веб-портале Azure DevOps с помощью редактора классического пользовательского интерфейса. Вы определяете конвейер сборки для создания и тестирования кода, а затем для публикации артефактов. Вы также определяете конвейер выпуска для использования и развертывания этих артефактов в целевых объектах развертывания.

Встроенный образ конструктора конвейеров

Выполните следующие основные действия.

  1. Настройте Azure Pipelines для использования репозитория Git.
  2. Используйте классический редактор Azure Pipelines для создания и настройки конвейеров сборки и выпуска.
  3. Отправьте код в репозиторий системы управления версиями. Это действие активирует конвейер и запустит такие задачи, как сборка или тестирование кода.

Сборка создает артефакт, используемый остальной частью конвейера для выполнения таких задач, как развертывание в промежуточной или рабочей среде.

Теперь код обновлен, создан, протестирован и упакован. Его можно развернуть на любом целевом объекте.

Доступность функций

Некоторые функции конвейера доступны только при использовании YAML или при определении конвейеров сборки или выпуска с помощью классического интерфейса. В следующей таблице указаны поддерживаемые функции и для которых выполняются задачи и методы.

Функция YAML Классическая сборка Классический выпуск Примечания.
Агенты Указывает требуемый ресурс, в котором выполняется конвейер.
Утверждения Определяет набор проверок, необходимых перед завершением этапа развертывания.
Артефакты Поддерживает публикацию или использование разных типов пакетов.
Кэширование Сокращает время сборки, разрешая использовать выходные данные и скачанные зависимости одного запуска в последующих запусках. Находится в предварительной версии, доступно только в Azure Pipelines.
Условия Указывает условия, которые должны выполняться перед выполнением задания.
Задания контейнеров Указывает задания для запуска в контейнере.
Требования Проверяет выполнение требований конвейера перед выполнением этапа конвейера. Требуются локальные агенты.
Зависимости Указывает требование, которое должно выполняться для выполнения следующего задания или этапа.
Группы развертывания Определяет логический набор целевых машин развертывания.
Задания группы развертывания Указывает задание для выпуска в группе развертывания.
Задания развертывания Определяет этапы развертывания.
Среда Представляет коллекцию ресурсов, предназначенных для развертывания. Доступно только в Azure Pipelines.
Ворота Поддерживает автоматическую коллекцию и оценку внешних сигналов работоспособности до завершения этапа выпуска. Доступно только в классическом выпуске.
Работы Определяет последовательность выполнения набора этапов.
Подключения служб Обеспечивает подключение к удаленной службе, которая требуется для выполнения задач в задании.
Контейнеры служб Позволяет управлять жизненным циклом контейнерной службы.
ЭТАПЫ Упорядочивает задания в конвейере.
Группы задач Инкапсулирует последовательность задач в одну многократно используемую задачу. Если используется YAML, см. шаблоны.
Задачи Определяет стандартные блоки, составляющие конвейер.
Шаблоны Определяет содержимое, логику и параметры для повторного использования.
Триггеры Определяет событие, вызывающее запуск конвейера.
Переменные Представляет значение, которое должно быть заменено данными для передачи в конвейер.
Группы переменных Используются для хранения значений, которые необходимо контролировать и предоставлять к ним доступ из нескольких конвейеров.

Следующие шаги