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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

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

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

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

Предварительные требования

Настройка ворот

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

  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: |
            someone@example.com
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

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

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

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

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

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

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

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

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

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

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

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

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

  6. Состояние трансляции указывает, что шлюзы обрабатываются для этапа Production перед продолжением выпуска.

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

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

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