Концепции шлюзов развертывания
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Шлюзы развертывания в Azure Pipelines добавляются в конвейеры выпуска, чтобы обеспечить соответствие развертываний определенным критериям перед продолжением. Шлюзы необходимы для обеспечения надежного и безопасного развертывания путем применения строгих проверок, ведущих к более стабильным и безопасным выпускам программного обеспечения.
Шлюзы определяются в условиях предварительного развертывания и после развертывания этапа выпуска. Они предоставляют механизм для автоматического сбора сигналов о работоспособности от внешних сервисов, таких как Azure Functions или REST API, для управления продвижением выпусков на основе этих сигналов. Гейтс работает с утверждениями, чтобы убедиться, что правильные заинтересованные лица утверждают выпуск, и выпуск соответствует необходимым критериям качества и соответствия.
Варианты использования
Ниже приведены некоторые распространенные варианты использования шлюзов развертывания:
- управление инцидентами: убедитесь, что перед развертыванием выполняются определенные критерии. Например, убедитесь, что развертывание происходит только в том случае, если нет ошибок с нулевым приоритетом.
- Запрос утверждений: Интеграция с Microsoft Teams или Slack для уведомления внешних пользователей, таких как аудиторы или ИТ-менеджеры, о развертывании и запроса их одобрения.
- проверка качества: метрики конвейера запросов, такие как скорость передачи или покрытие кода, и развертываются только в том случае, если они находятся в предопределенном пороге.
- Сканирование безопасности. Необходимо выполнить такие проверки безопасности, как сканирование артефактов, подписывание кода и проверка политики. Шлюз развертывания может инициировать проверку и ждать её завершения или просто проверить её завершение.
- Пользовательский опыт относительно базового уровня: Используйте сбор данных о продукте, чтобы избежать ухудшения пользовательского взаимодействия по сравнению с базовым состоянием. Метрики взаимодействия с пользователем до развертывания можно было использовать в качестве базовых показателей.
- управление изменениями: дождитесь завершения процедур управления изменениями в системе, например ServiceNow, прежде чем продолжить развертывание.
- здоровье инфраструктуры: выполните мониторинг и проверьте инфраструктуру в соответствии с правилами для соблюдения после развертывания или ожидайте надлежащего использования ресурсов и положительного отчета о безопасности.
Большинство параметров здоровья изменяются со временем, регулярно изменяя состояние с здорового на нездоровое и обратно на здоровое. Для учета таких вариантов все ворота периодически пересматриваются до тех пор, пока все они не будут успешны одновременно. Выполнение и развертывание выпуска не продолжается, если все шлюзы не сработают в одном и том же интервале и до настроенного времени ожидания.
Определение ворот для этапа
Вы можете включить шлюзы на начальном этапе (условия предварительного развертывания) или в конце этапа (условия после развертывания) или для обоих. Дополнительные сведения см. в разделе Настройка шлюзов.
Задержка до оценки — это задержка времени в начале процесса оценки шлюзов, которая позволяет шлюзам инициализировать, стабилизировать и начать предоставлять точные результаты для текущего развертывания. Дополнительные сведения см. в потоках оценки шлюзов.
- Для шлюзов предварительного развертываниязадержка будет временем, необходимым для всех ошибок, которые будут регистрироваться в развернутых артефактах.
- Для шлюзов после развертываниязадержка будет максимальной задержкой, необходимой для обеспечения устойчивого рабочего состояния приложения, времени выполнения всех необходимых тестов на развернутом этапе и времени, необходимого для регистрации инцидентов после развертывания.
По умолчанию доступны следующие шлюзы:
- Вызов функции Azure: активируйте выполнение функции Azure и убедитесь в успешном завершении. Дополнительные сведения см. в разделе задача функции Azure.
- запрос оповещений Azure mMnitor. Просмотрите настроенные правила генерации оповещений Azure Monitor для активных оповещений. Дополнительные сведения см. в задаче Azure Monitor.
- Вызвать REST API: Вызвать REST API и продолжить, если он возвращает успешный ответ. Дополнительные сведения см. в статье Вызов задачи REST API.
- Рабочие элементы запроса: Убедитесь, что количество соответствующих рабочих элементов, возвращаемых запросом, находится в пределах порога. Дополнительные сведения см. в статье задача "Запрос рабочих элементов".
- проверьте соответствие политик Azure: оцените соответствие политик Azure ресурсам в пределах определенной подписки и группы ресурсов, а также на определенном уровне ресурсов. Дополнительные сведения см. в статье Проверка задачи соответствия политик Azure.
Вы также можете создать собственные шлюзы с дополнениями из Marketplace.
Варианты оценки, применимые ко всем шлюзам:
- Время между повторной оценкой шлюзов. Интервал времени между последовательными оценками шлюзов. По каждому интервалу выборки новые запросы отправляются параллельно каждому шлюзу и оцениваются новые результаты. Рекомендация заключается в том, что интервал выборки больше, чем самое длинное обычное время отклика настроенных шлюзов, чтобы разрешить получение всех ответов для оценки.
- время ожидания, после которого происходит сбой шлюзов. Максимальный период оценки для всех ворот. Развертывание отклоняется, если время ожидания истекает перед успешным выполнением всех условий в течение одного интервала выборки.
- Этапы и утверждения. Выберите требуемый порядок исполнения для шлюзов и утверждений, если вы настроили оба элемента. Для условий предварительного развертывания по умолчанию сначала требуется получение одобрения вручную от пользователя, а затем производится оценка шлюзов, что избавляет систему от необходимости в оценке, если пользователь отклоняет выпуск. Для условий после развертывания по умолчанию выполняется оценка шлюзов и запрашивается ручное утверждение только в случае успешного прохождения всех шлюзов, чтобы обеспечить утверждающим лицам всю необходимую информацию для одобрения выпуска.
Дополнительные сведения об аналитике шлюзов см. в разделе Просмотр журналов утверждений и Мониторинг и отслеживание развертываний.
Примеры потока проверки шлюза
На следующей схеме показан поток оценки шлюза, где после начального периода задержки стабилизации и трех интервалов выборки развертывание утверждено.
На следующей схеме показан поток оценки гейтов, где после начального периода задержки стабилизации на каждом интервале выборки не все гейты были успешно оценены. В этом случае после истечения срока ожидания развертывание отклоняется.
Связанные статьи
- Критерии выпуска и обзор процессов утверждения
- Используйте шлюзы и утверждения для управления развертыванием
- триггеры классического выпуска