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


Развертывание артефактов пулл-реквестов с помощью классических конвейеров выпуска

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

Pull-реквесты предоставляют эффективный способ проверки изменений кода перед слиянием их в кодовую базу. Однако эти изменения могут привести к проблемам, которые могут быть сложно найти, не создавая и развертывая приложение в определенной среде. Триггеры pull request позволяют определить набор критериев, которые необходимо удовлетворить перед развертыванием. В этой статье объясняется, как настроить триггеры для pull request'ов с помощью репозиториев Azure Repos и GitHub для развертывания артефактов конвейера с помощью классических производственных пайплайнов.

** Предварительные условия

Продукт Требования
Azure DevOps - Проект Azure DevOps.
— Исходный код, размещенный в Azure Repos или GitHub. Если у вас нет репозитория, вы можете использовать приложение-пример pipelines-dotnet-core для его создания.
— рабочий конвейер для вашего репозитория.
— Классический конвейер выпуска. Если у вас его нет, настройте классический конвейер выпуска.

Развертывания pull request'ов

Триггеры pull-реквестов могут помочь вам обеспечить более высокое качество кода, выпускать более надежные версии и обнаруживать любые проблемы на ранних этапах цикла разработки.

Настройка развертывания для запросов на вытягивание — это процесс из двух шагов: первым делом необходимо настроить триггер запроса на вытягивание, а затем — политики ветвления (Azure Repos) или проверки состояния (GitHub) для потоков релиза.

1. Включение триггеров pull-запроса

Когда включены триггеры pull request, создается новый релиз, когда новый артефакт становится доступным в рабочем процессе pull request.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Pipeline>Releases и выберите определение вашего конвейера выпуска.

  3. В разделе артефактов выберите значок триггера непрерывного развертывания.

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

  4. Переключите настройку триггера Pull request, чтобы включить её.

    Снимок экрана, на котором показано, как включить триггеры pull request в классических конвейерах выпуска.

  5. Выберите целевую ветвь в раскрывающемся меню.

    Снимок экрана, на котором показано, как выбрать целевую ветвь.

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

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

    Чтобы включить развертывание pull request'ов на этапе:

    • Выберите значок условий предварительного развертывания для этапа.
    • Перейдите к триггерам >после освобождения.
    • Переключите настройку развертывания Pull Request, чтобы активировать её.

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

Внимание

Включение автоматического развертывания pull request для продакшн-этапов не рекомендуется.

2. Настройте политики для веток

Политики ветки можно использовать для внедрения списка критериев, которые должны быть выполнены перед тем, как пулл-реквест может быть объединён.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Репозиторий>ветви, чтобы получить доступ к списку ветвей для репозитория.

    Снимок экрана, на котором показано, как перейти к ветвям в Azure Repos.

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

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

  4. Выберите Добавить политику статуса, а затем выберите статус для проверки в раскрывающемся меню. Выберите состояние, соответствующее определению выпуска, и нажмите кнопку "Сохранить".

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

    Внимание

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

  5. Как только политика статуса будет добавлена, пользователи не смогут объединять изменения в целевую ветвь, если пулл-реквест не имеет статус succeeded.

    Снимок экрана, на котором отображаются статусные политики и включена политика развертывания pull request.

  6. На странице Обзор pull request вы можете проверить состояние правил. В зависимости от параметров состояние выпуска будет отображаться в разделе Обязательные, Необязательныеили разделе Состояние. Состояние обновляется при каждом запуске конвейера.

    Снимок экрана, на котором отображается состояние политик pull request.