Использование 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
с остальными приложениями.
- Версия конвейера связана с кодом. Он следует той же структуре ветвления. Проверка изменений осуществляется с помощью проверок кода в запросах на вытягивание и политиках построения ветви.
- Каждая ветвь, которую вы используете, может изменить конвейер, изменив
azure-pipelines.yml
файл. Дополнительные сведения о ветвях для конвейеров YAML. - Изменения в процессе сборки могут привести к сбою или непредвиденному результату. Так как изменения записываются в системе управления версиями с остальной частью базы кода, можно легко выявить проблему.
Выполните следующие основные действия.
- Настройте Azure Pipelines для использования репозитория Git.
- Измените
azure-pipelines.yml
файл, чтобы определить сборку. - Отправьте код в репозиторий системы управления версиями. Это действие запускает триггер по умолчанию для сборки и развертывания, а затем для мониторинга результатов.
Теперь код обновлен, создан, протестирован и упакован. Его можно развернуть на любом целевом объекте.
Определение конвейеров с помощью классического интерфейса
Создание и настройка конвейеров на веб-портале Azure DevOps с помощью редактора классического пользовательского интерфейса. Вы определяете конвейер сборки для создания и тестирования кода, а затем для публикации артефактов. Вы также определяете конвейер выпуска для использования и развертывания этих артефактов в целевых объектах развертывания.
Выполните следующие основные действия.
- Настройте Azure Pipelines для использования репозитория Git.
- Используйте классический редактор Azure Pipelines для создания и настройки конвейеров сборки и выпуска.
- Отправьте код в репозиторий системы управления версиями. Это действие активирует конвейер и запустит такие задачи, как сборка или тестирование кода.
Сборка создает артефакт, используемый остальной частью конвейера для выполнения таких задач, как развертывание в промежуточной или рабочей среде.
Теперь код обновлен, создан, протестирован и упакован. Его можно развернуть на любом целевом объекте.
Доступность функций
Некоторые функции конвейера доступны только при использовании YAML или при определении конвейеров сборки или выпуска с помощью классического интерфейса. В следующей таблице указаны поддерживаемые функции и для которых выполняются задачи и методы.
Функция | YAML | Классическая сборка | Классический выпуск | Примечания. |
---|---|---|---|---|
Агенты | ✅ | ✅ | ✅ | Указывает требуемый ресурс, в котором выполняется конвейер. |
Утверждения | ✅ | ❌ | ✅ | Определяет набор проверок, необходимых перед завершением этапа развертывания. |
Артефакты | ✅ | ✅ | ✅ | Поддерживает публикацию или использование разных типов пакетов. |
Кэширование | ✅ | ✅ | ❌ | Сокращает время сборки, разрешая использовать выходные данные и скачанные зависимости одного запуска в последующих запусках. Находится в предварительной версии, доступно только в Azure Pipelines. |
Условия | ✅ | ✅ | ✅ | Указывает условия, которые должны выполняться перед выполнением задания. |
Задания контейнеров | ✅ | ❌ | ❌ | Указывает задания для запуска в контейнере. |
Требования | ✅ | ✅ | ✅ | Проверяет выполнение требований конвейера перед выполнением этапа конвейера. Требуются локальные агенты. |
Зависимости | ✅ | ✅ | ✅ | Указывает требование, которое должно выполняться для выполнения следующего задания или этапа. |
Группы развертывания | ❌ | ❌ | ✅ | Определяет логический набор целевых машин развертывания. |
Задания группы развертывания | ❌ | ❌ | ✅ | Указывает задание для выпуска в группе развертывания. |
Задания развертывания | ✅ | ❌ | ❌ | Определяет этапы развертывания. |
Среда | ✅ | ❌ | ❌ | Представляет коллекцию ресурсов, предназначенных для развертывания. Доступно только в Azure Pipelines. |
Ворота | ❌ | ❌ | ✅ | Поддерживает автоматическую коллекцию и оценку внешних сигналов работоспособности до завершения этапа выпуска. Доступно только в классическом выпуске. |
Работы | ✅ | ✅ | ✅ | Определяет последовательность выполнения набора этапов. |
Подключения служб | ✅ | ✅ | ✅ | Обеспечивает подключение к удаленной службе, которая требуется для выполнения задач в задании. |
Контейнеры служб | ✅ | ❌ | ❌ | Позволяет управлять жизненным циклом контейнерной службы. |
ЭТАПЫ | ✅ | ❌ | ✅ | Упорядочивает задания в конвейере. |
Группы задач | ❌ | ✅ | ✅ | Инкапсулирует последовательность задач в одну многократно используемую задачу. Если используется YAML, см. шаблоны. |
Задачи | ✅ | ✅ | ✅ | Определяет стандартные блоки, составляющие конвейер. |
Шаблоны | ✅ | ❌ | ❌ | Определяет содержимое, логику и параметры для повторного использования. |
Триггеры | ✅ | ✅ | ✅ | Определяет событие, вызывающее запуск конвейера. |
Переменные | ✅ | ✅ | ✅ | Представляет значение, которое должно быть заменено данными для передачи в конвейер. |
Группы переменных | ✅ | ✅ | ✅ | Используются для хранения значений, которые необходимо контролировать и предоставлять к ним доступ из нескольких конвейеров. |
Следующие шаги
Связанные статьи
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по