Поделиться через


Классические конвейеры выпуска

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

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

Предпосылки

Продукт Требования
Azure DevOps организация Azure DevOps.
проект Azure DevOps.

Как работают конвейеры выпуска

Для каждого развертывания Azure Pipelines выполняет следующую последовательность шагов:

  1. Утверждение перед развертыванием:

    При запуске развертывания Azure Pipelines проверяет, требуется ли утверждение перед развертыванием для данного этапа. Если требуется утверждение, он отправляет уведомления установленным утверждающим лицам и ожидает одобрения до продолжения.

  2. Задание на развертывание очереди:

    Azure Pipelines ставит в очередь задачу развертывания и планирует её выполнение на агенте, который доступен.

  3. Выберите агент:

    Доступный агент выбирает задание развертывания. Конвейеры выпуска можно настроить для динамического выбора соответствующего агента во время выполнения.

  4. Скачайте артефакты:

    Агент скачивает все артефакты, связанные с выпуском.

  5. Выполнение задач развертывания:

    Агент выполняет задачи, определенные в задании развертывания для этапа.

  6. Создайте журналы развертывания:

    Агент создает подробные журналы для каждого шага развертывания и отправляет их обратно в Azure Pipelines.

  7. Утверждение после развертывания:

    После завершения развертывания Azure Pipelines проверяет, требуется ли утверждение после развертывания. После предоставления утверждения или если утверждение не требуется, конвейер переходит к следующему этапу.

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

Модель развертывания

Конвейеры выпуска Azure поддерживают широкий спектр источников артефактов, включая Jenkins, Azure Artifacts и Team City. Эта гибкость позволяет разрабатывать модели развертывания, охватывающие несколько систем сборки и сред. В следующем примере показана модель развертывания с помощью конвейеров выпуска Azure.

В этой модели конвейер выпуска использует два артефакта сборки, созданные отдельными конвейерами сборки. Приложение сначала развертывается на этапе разработки, а затем выполняется развертывание на двух параллельных этапах качества обслуживания. После успешной проверки приложения на обоих этапах QA он развертывается в кольце Prod 1 , а затем в Prod ring 2.

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

Снимок экрана: конвейер выпуска с двумя артефактами сборки, развертывающимися с помощью dev, QA и двух этапов рабочего круга.

Выпуски и развертывания

Релиз — это структура, содержащая версионированный набор артефактов, указанный в конвейере CI/CD. Он включает моментальный снимок всех сведений, необходимых для выполнения всех задач и действий в конвейере выпуска, таких как этапы, задачи, политики и параметры развертывания.

Один конвейер выпуска может создавать несколько выпусков. Azure Pipelines хранит сведения о каждом выпуске и отображает его в течение указанного периода хранения.

Развертывание — это выполнение задач, определенных для одного этапа в релизе. Развертывание может включать такие действия, как выполнение автоматических тестов, развертывание артефактов сборки и выполнение других задач, настроенных для этого этапа. При создании выпуска Azure Pipelines инициирует развертывания на основе политик и параметров, определенных в конвейере выпуска. Выпуск можно развернуть несколько раз на один и тот же этап. Если развертывание завершается сбоем на этапе, можно повторно развернуть тот же релиз на этом этапе, выбрав "Развернуть" в релизе.

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

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