Использование шлюзов и утверждений для управления развертыванием
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Используя сочетание утверждений развертывания вручную, шлюзов и ручного вмешательства в конвейер выпуска, вы можете быстро и легко настроить развертывание в соответствии со всеми конкретными требованиями перед развертыванием для рабочего процесса.
В рамках этого учебника вы ознакомитесь со следующими сведениями:
- Шлюзы перед развертыванием
- ручное вмешательство;
- Проверка вручную
- Журналы развертывания
Предварительные требования
Выполните инструкции из руководства Определение многоэтапного конвейера выпуска .
Запрос рабочего элемента. Создайте запрос рабочего элемента в Azure Boards, если у вас его еще нет.
Настройка ворот
Вы можете использовать шлюзы, чтобы убедиться, что конвейер выпуска соответствует определенным критериям перед развертыванием без вмешательства пользователя.
Выберите Выпуски конвейеров>, а затем выберите конвейер выпуска. Выберите Изменить , чтобы открыть редактор конвейера.
Щелкните значок перед развертыванием для вашего этапа, а затем нажмите переключатель, чтобы включить шлюзы.
Укажите время задержки перед вычислением добавленных шлюзов. На этот раз необходимо разрешить функциям шлюза инициализацию и стабилизацию перед возвратом результатов.
Выберите Добавить, а затем — Запрос рабочих элементов.
Выберите существующий запрос рабочего элемента в раскрывающемся меню. В зависимости от количества рабочих элементов, которые вы ожидаете вернуть запрос, задайте максимальное и минимальное пороговые значения.
Выберите раздел Параметры оценки , а затем укажите время ожидания и интервал выборки. Минимальные значения, которые можно указать: 6 минут времени ожидания и 5-минутный интервал выборки.
После завершения щелкните Сохранить.
Настройка ручного вмешательства
В зависимости от сценария иногда может потребоваться добавить ручное вмешательство в конвейер выпуска. Это можно сделать, добавив задачу "Вмешательство вручную" в конвейер.
Выберите Выпуски конвейеров>. Выберите конвейер выпуска, а затем выберите Задачи и выберите этап.
Нажмите кнопку с многоточием (...), а затем выберите Добавить задание без агента.
Перетащите задание без агента в начало процесса развертывания. Выберите знак (+) и выберите Добавить задачу "Вмешательство вручную".
Введите отображаемое имя и инструкции, которые будут отображаться при запуске задачи. Вы также можете указать список пользователей, которые будут уведомлены, и действие времени ожидания (отклонить или возобновить), если в течение периода ожидания не произошло никаких действий.
После завершения щелкните Сохранить.
Примечание
Задача "Вмешательство вручную " может использоваться только в задании без агента.
Настройка проверки вручную
Задачу "Проверка вручную " в конвейере YAML можно использовать для приостановки и ожидания утверждения вручную. Проверка вручную особенно полезна в сценариях, в которых необходимо проверить параметры конфигурации или пакеты сборки перед запуском ресурсоемкого задания.
Задание waitForValidation
приостанавливает выполнение и запускает запрос пользовательского интерфейса для проверки и проверки задачи. Адреса электронной почты, перечисленные в списке notifyUsers
, получают уведомление об утверждении или отклонении запуска конвейера.
pool:
vmImage: ubuntu-latest
jobs:
- job: waitForValidation
displayName: Wait for external validation
pool: server
timeoutInMinutes: 4320 # job times out in 3 days
steps:
- task: ManualValidation@0
timeoutInMinutes: 1440 # task times out in 1 day
inputs:
notifyUsers: |
someone@example.com
instructions: 'Please validate the build configuration and resume'
onTimeout: 'resume'
Просмотр журналов развертывания
Журналы развертывания полезны для отладки проблем развертывания, но их также можно использовать для аудита запусков конвейера и проверки утверждений, а также того, как они были предоставлены и кем.
Выберите Выпуски конвейеров>, а затем выберите конвейер выпуска.
В этом представлении будет отображаться динамическое состояние каждого этапа в конвейере. Этап контроля качества в этом примере находится в ожидании вмешательства. Нажмите кнопку Возобновить.
Введите комментарий и нажмите кнопку Возобновить.
Развертывание этапа контроля качества выполнено успешно, и для этапа Production активируются утверждения перед развертыванием.
Выберите Утвердить, введите комментарий, а затем выберите Утвердить , чтобы продолжить развертывание.
Состояние трансляции указывает, что шлюзы обрабатываются для этапа Production перед продолжением выпуска.
Вернитесь к конвейеру выпуска, наведите указатель мыши на этап и выберите Журналы , чтобы просмотреть журналы развертывания.