Microsoft AZ-400: Конвейеры CI/CD с Azure Pipelines — Руководство по подготовке

Часть Microsoft DevOps Engineer Expert AZ-400 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Microsoft, или пройдите тесты на время на ExamRoll.io.

Обзор

Azure Pipelines предоставляет комплексное решение для CI/CD в формате «код» с помощью многоэтапных YAML-конвейеров, которые объединяют сборку, тестирование и выпуск, сохраняя при этом корпоративные механизмы контроля. Владение навыками создания YAML, триггерами, агентами, переменными, шаблонами, заданиями развёртывания, артефактами, кэшированием и подключениями к службам является ключевым для построения масштабируемых, безопасных и воспроизводимых систем доставки.

Создание конвейеров с помощью YAML и шаблонов

YAML-конвейер состоит из этапов (stages), заданий (jobs) и шагов (steps). Этапы моделируют границы жизненного цикла, такие как сборка (Build), тестирование (Test) и выпуск (Release); задания выполняются на агентах и могут работать параллельно; шаги — это задачи или скрипты, выполняемые в рамках задания. Зависимости явно определяются через dependsOn, что позволяет осуществлять тонкую оркестрацию и условное выполнение. Многоэтапные YAML-конвейеры объединяют CI и CD, поддерживают шаблоны «сборки/развёртки» (fan-in/fan-out) и привязывают утверждения к средам, а не к отдельной сущности выпуска.

Шаблоны обеспечивают композицию и повторное использование на разных уровнях детализации:

Обработка шаблонов происходит во время компиляции, до выполнения конвейера. Используйте ${{ }} для выражений шаблонов, чтобы изменять структуру конвейера во время компиляции (например, включать определённые задания только для ветки main). Синтаксис макросов $(var) и выражения времени выполнения $[ ] разрешаются во время выполнения, что влияет на доступность секретов и групп переменных. Храните общие шаблоны в центральном репозитории и импортируйте их через resources: repositories; для детерминированных сборок закрепляйте их за определённой веткой или тегом.

Триггеры, агенты, переменные и выражения

Триггеры управляют точками входа для автоматизации:

Агенты и пулы агентов определяют, где выполняются задания:

Переменные и параметры обеспечивают настраиваемость:

Развёртывания, среды, стратегии и шлюзы

Задания развёртывания (deployment jobs) предоставляют первоклассную семантику для CD. Задание развёртывания нацелено на среду (environment) и выполняется в соответствии со стратегией, которая управляет выкаткой и хуками жизненного цикла:

Кодируйте логику развёртывания как задание развёртывания (deployment job) для каждого этапа-среды. Используйте проверки сред (environment checks) для создания надёжных шлюзов вместо нерегламентированного опроса через скрипты. Когда требуются секреты, извлекайте их из Azure Key Vault через подключение к службе (service connection), а не встраивайте их в переменные.

Артефакты, кэширование и подключения к службам

Артефакты и кэширование улучшают повторное использование и производительность:

Подключения к службам (Service connections) определяют идентификационные данные, которые Azure Pipelines использует для доступа к внешним системам:

Классические конвейеры и YAML: сравнение и миграция

В классических конвейерах используется визуальный конструктор с разделением на концепции сборки (Build) и выпуска (Release). Они предлагают создание на основе задач, управление переменными, среды выпуска и шлюзы. Конвейеры YAML предоставляют подход «конвейер как код» (pipeline-as-code), объединение в многоэтапные конвейеры, шаблоны и надёжное версионирование вместе с репозиторием. Функциональный паритет в основном достигнут: утверждения и проверки среды заменяют шлюзы выпуска; задания развертывания моделируют среды; артефакты конвейера заменяют артефакты сборки; а шаблоны и extends реализуют централизованное управление в масштабе. Оставшиеся различия обычно касаются ручных вмешательств через пользовательский интерфейс и некоторых нишевых функций конструктора выпусков, которые в YAML реализуются через задачи Manual Validation и проверки среды.

Прагматичный путь миграции:

  1. Проведите инвентаризацию классических определений сборок и выпусков, задач, переменных, сред, утверждений и шлюзов.
  2. Преобразуйте сборку в YAML с помощью ассистента или экспорта в YAML, затем проведите рефакторинг в шаблоны для повторного использования и удобства поддержки.
  3. Смоделируйте каждую среду выпуска как этап (stage) YAML с заданием развертывания (deployment job), нацеленным на среду (environment). Преобразуйте шлюзы выпуска в утверждения и проверки среды (например, проверки запросов Azure Monitor, проверки запросов рабочих элементов).
  4. Вынесите общие переменные в группы переменных и подключите Key Vault для секретов. Замените секреты субъектов-служб (service principal) на подключения служб (service connections) на основе OIDC.
  5. Замените триггеры по артефактам выпуска на триггеры по ресурсам конвейера. Публикуйте артефакты конвейера на этапе CI и используйте их на этапах CD.
  6. Проверьте паритет, временно запуская оба конвейера, затем переключитесь и выведите из эксплуатации классические определения, подготовив соответствующие планы отката.

Практический сценарий

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

  1. Создание многоэтапного YAML с помощью шаблонов extends
  1. Реализация триггеров CI, PR, по расписанию и по конвейеру
  1. Использование смешанной стратегии агентов с пулами агентов
  1. Управление переменными с помощью групп переменных и параметров времени выполнения
  1. Определение заданий развертывания со средами, утверждениями и проверками
  1. Применение стратегий canary, а затем blue-green
  1. Оптимизация с помощью артефактов конвейера и кэширования
  1. Защита подключений служб с помощью OIDC и ограниченных разрешений

Этот комплексный дизайн согласовывает управление в стиле YAML-as-code с утверждениями и проверками корпоративного уровня, ускоряет доставку за счет кэширования и артефактов и усиливает безопасность с помощью OIDC и подключений служб с ограниченной областью действия.


Управление исходным кодом и репозиториями · Все домены · Инфраструктура как код и управление конфигурацией

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Microsoft →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт