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

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

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

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

Необходимые компоненты

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

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

  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. В этом представлении показано состояние реального времени каждого этапа в конвейере. Этап QA в этом примере ожидает вмешательства. Выберите Возобновить.

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

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

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

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

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

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

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

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

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

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

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