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


Используйте шлюзы и утверждения для контроля развертывания

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

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

В рамках этого учебника вы ознакомитесь со следующими сведениями:

  • Шлюзы перед развертыванием
  • Ручное вмешательство
  • Проверка вручную
  • Журналы развертывания

Предпосылки

Настройка шлюзов

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

  1. Выберите Конвейеры>Выпуски, а затем выберите конвейер выпуска. Нажмите кнопку "Изменить", чтобы открыть редактор конвейера.

    Снимок экрана: кнопка редактирования конвейеров выпуска.

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

    Снимок экрана: включение шлюзов.

  3. Укажите задержку времени перед оценкой добавленных шлюзов. Это время позволяет функциям шлюза инициализировать и стабилизировать их перед возвратом результатов.

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

  4. Выберите "Добавить" и выберите " Запрос рабочих элементов".

    Снимок экрана: добавление задачи

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

    Снимок экрана: настройка задачи

  6. Выберите раздел "Параметры оценки ", а затем укажите интервал времени ожидания и выборки. Минимальные значения, которые можно указать, — 6-минутное время ожидания и интервал выборки в 5 минут.

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

  7. Выберите Сохранить, когда вы закончите.

    Снимок экрана: сохранение конвейера выпуска.

Настроить интервенцию вручную

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

  1. Выберите Конвейеры>Выпуски. Выберите конвейер выпуска, а затем выберите "Задачи " и выберите этап.

    Снимок экрана: переход к этапным задачам в конвейере выпуска.

  2. Выберите многоточие (...), а затем нажмите кнопку "Добавить задание без агента".

    Снимок экрана: добавление задания без агента.

  3. Перетащите задание без агента наверх процесса развертывания. Выберите знак (+), а затем нажмите кнопку "Добавить задачу "Вмешательство вручную".

    Снимок экрана: добавление задачи вмешательства вручную.

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

    Снимок экрана: настройка задачи

  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: |
            [email protected]
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

Просмотр журналов развертывания

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

  1. Выберите Конвейеры>Выпуски, а затем выберите конвейер выпуска.

    Снимок экрана, на котором показан список выпусков и их определений.

  2. В этом представлении показано состояние реального времени каждого этапа в конвейере. Этап QA в этом примере ожидает вмешательства. Нажмите кнопку "Возобновить".

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

  3. Введите комментарий и нажмите кнопку "Возобновить".

    Снимок экрана с демонстрацией ответа на ожидаемый запрос на ручное вмешательство.

  4. Развертывание этапа обеспечения качества выполнено успешно, и активированы утверждения на развёртывание для этапа производственной среды.

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

  5. Выберите "Утвердить", введите комментарий и нажмите кнопку "Утвердить ", чтобы продолжить развертывание.

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

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

    Снимок экрана: производственные шлюзы обработки.

  7. Вернитесь к конвейеру выпуска, наведите указатель мыши на этап и выберите Журналы, чтобы просмотреть журналы развертывания.

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