Управление развертыванием выпуска с помощью шлюзов

  • Для шлюзов, выполняемых перед развертыванием, задержка будет составлять время, необходимое для записи всех ошибок в журнал для развертываемых артефактов.
  • Для шлюзов, выполняемых после развертывания, задержка будет превышена до достижения стабильного рабочего состояния, времени, затраченного на выполнение всех необходимых тестов на развернутом этапе, и времени, затрачиваемого на регистрацию инцидентов после развертывания.

По умолчанию доступны следующие шлюзы:

  • Вызов функции Azure: Активация выполнения функции Azure и проверка ее успешного завершения. Дополнительные сведения см. в статье задача функции Azure.
  • Запрос оповещений Azure Monitor. Просмотрите настроенные правила оповещений Azure Monitor для активных оповещений. Дополнительные сведения см. в статье Azure Monitor Task.
  • Вызвать REST API: выполните вызов REST API и продолжайте, если он возвращает успешный ответ. Дополнительные сведения см. в статье HTTP REST API Task.
  • Рабочие элементы запроса: Убедитесь, что число соответствующих рабочих элементов, возвращаемых запросом, находится в пределах порогового значения. Дополнительные сведения см. в разделе задача «запрос рабочего элемента».
  • Оценка безопасности и соответствия требованиям: Оценка соответствия политики Azure требованиям для ресурсов в пределах данной подписки и группы ресурсов, а также при необходимости на определенном уровне ресурсов. Дополнительные сведения см. в разделе задача обеспечения соответствия и оценки безопасности.

Вы можете создавать собственные шлюзы с расширениями Marketplace.

Ниже приведены параметры оценки, применяемые ко всем добавленным шлюзам.

  • Время между повторной оценкой шлюзов. Интервал времени между последовательными оценками шлюзов. При каждом интервале выборки новые запросы отправляются одновременно в каждый шлюз и оцениваются новые результаты. Рекомендуется, чтобы интервал выборки был больше, чем самое длинное стандартное время ответа настроенных шлюзов, чтобы обеспечить время получения всех ответов для оценки.
  • Время ожидания, по истечении которого шлюз завершается сбоем. Максимальный период оценки для всех шлюзов. Развертывание будет отклонено, если время ожидания будет достигнуто до того, как все шлюзы будут выполнены в течение одного интервала выборки.
  • Шлюзы и утверждения. Выберите необходимый порядок выполнения для шлюзов и утверждений, если они настроены. Для условий, выполняемых перед развертыванием, по умолчанию сначала запрашиваются ручные утверждения (пользователя), затем оцениваются шлюзы. Это позволяет сохранить систему из оценки функций шлюза, если выпуск отклонен пользователем. Для условий, выполняемых после развертывания, по умолчанию используется оценка шлюзов и запрос на утверждение вручную только после успешного выполнения всех шлюзов. Это гарантирует, что утверждающие лица смогут утвердить всю информацию, необходимую для утверждения.

Сведения о просмотре результатов и журналов шлюза см. в статьях Просмотр журналов для утверждения и отслеживание и отслеживание развертываний.

Примеры потока оценки шлюза

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

Успешные шлюзы

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

Шлюз с ошибками

Видео

Дополнительные ресурсы

Справка и поддержка

Azure Pipelines

Шлюзы позволяют автоматически собирать сигналы работоспособности из внешних служб, а затем повысить уровень выпуска при успешном выполнении всех сигналов или прекратить развертывание при превышении времени ожидания. Обычно шлюзы используются в связи с управлением инцидентами, управлением проблемами, управлением изменениями, мониторингом и внешними утверждениями.

Сценарии для шлюзов

Ниже приведены некоторые сценарии и варианты использования шлюзов.

  • Управление инцидентами и проблемами. Убедитесь, что для рабочих элементов, инцидентов и проблем требуется состояние. Например, убедитесь, что развертывание выполняется только в том случае, если ошибки с приоритетом не обнаружены и проверка отсутствия активных инцидентов после развертывания.
  • Поиск утверждений за пределами Azure pipelines. уведомлять пользователей, не Azure Pipelines, таких как юридические утверждения, аудиторы или ит-руководители о развертывании, путем интеграции с системами совместной работы утверждения, такими как Microsoft Teams или резервный, и ожидания завершения утверждения.
  • Проверка качества. Запрашивать метрики из тестов артефактов сборки, таких как частота прохода или покрытие кода, и развертывать только в том случае, если они находятся в пределах требуемых порогов.
  • Проверка безопасности артефактов. Убедитесь, что проверки безопасности, такие как антивирусная проверка, подписание кода и проверка политики для артефактов сборки завершены. Шлюз может инициировать сканирование и дождаться его завершения или просто проверить завершение.
  • Взаимодействие с пользователем по сравнению с базовыми показателями. Используя телеметрию по продукту, убедитесь, что взаимодействие с пользователем не превышено в базовом состоянии. Уровень опыта до развертывания может рассматриваться как базовый.
  • Управление изменениями. Дождитесь выполнения процедур управления изменениями в системе, такой как ServiceNow, перед развертыванием.
  • Работоспособность инфраструктуры. Выполнение мониторинга и Проверка инфраструктуры в соответствии с правилами соответствия после развертывания или ожидание исправной загрузки ресурсов и положительного отчета о безопасности.

Большая часть параметров работоспособности изменяется с течением времени, что регулярно меняет их состояние с работоспособного на неработоспособное и обратно в работоспособное. Чтобы учитывать такие вариации, все шлюзы периодически оцениваются до тех пор, пока все они не будут успешными одновременно. Выполнение и развертывание выпуска не будут продолжаться, если все шлюзы не проходят через один и тот же интервал времени и до настроенного тайм-аута.

Определение шлюза для этапа

Вы можете включить шлюзы в начале этапа (в условиях перед развертыванием) или в конце этапа (условия после развертывания) или в обоих случаях. Дополнительные сведения о включении шлюзов см. в разделе Настройка шлюза.

Задержка до оценки — это временная задержка в начале процесса оценки шлюза, которая позволяет шлюзам инициализировать, стабилизировать и начать предоставлять точные результаты для текущего развертывания (см. статью о потоках анализа шлюза). Пример: