Создание нескольких ветвей в Azure Pipelines

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

С помощью Azure Pipelines можно создавать триггеры для создания проекта на основе каждого нового запроса фиксации и извлечения в репозиторий. В этой статье вы узнаете, как включить непрерывную интеграцию и настроить несколько сборок ветви для репозитория.

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

  • Организация Azure DevOps и проект. Создайте организацию или проект, если вы еще не сделали этого.

  • Рабочий конвейер. Следуйте инструкциям в статье "Создание первого конвейера " для создания конвейера.

Включение триггера CI для ветви раздела

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

Если триггер не указан явным образом в файле YAML, любые изменения, внесенные в любую ветвь, активируют выполнение. Чтобы добавить триггеры для основной ветви и любой функции или ветвей, добавьте следующий фрагмент кода в файл YAML. Это гарантирует, что любые изменения, внесенные в эти ветви, автоматически активируют запуск конвейера.

trigger:
- main
- feature/*

Сборки YAML пока недоступны в TFS.

Настройка задач сборки на основе создаваемой ветви

Основная ветвь обычно отвечает за создание развертываемых артефактов, таких как двоичные файлы. Для коротких ветвь компонента нет необходимости инвестировать время в создание и хранение этих артефактов. В Azure Pipelines можно реализовать пользовательские условия, чтобы обеспечить выполнение конкретных задач только в главной ветви.

Измените файл azure-pipelines.yml в главной ветви и добавьте условие в нужную задачу. Например, следующий фрагмент кода добавляет условие в задачу артефактов конвейера публикации .

- task: PublishPipelineArtifact@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

Сборки YAML пока недоступны в TFS.

Проверка запросов на вытягивание

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

репозиторий GitHub

Если в файле YAML явно не определены триггеры pr , сборки запросов на вытягивание будут включены по умолчанию для всех ветвей. Однако у вас есть гибкость, чтобы указать целевые ветви для сборок запроса на вытягивание. Например, если вы хотите запустить сборку исключительно для запросов на вытягивание, предназначенных для основной ветви и ветвей, начиная с компонента/, можно указать следующую конфигурацию:

pr:
- main
- feature/*

Сборки YAML пока недоступны в TFS.

Репозиторий Azure Repos

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

  2. Выберите Repos и выберите "Ветви".

  3. Щелкните значок многоточия справа от имени ветви и выберите политики ветви.

  4. В меню "Проверка сборки" выберите знак +, чтобы добавить политику сборки.

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

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

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

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

  1. Чтобы проверить политику, перейдите к запросам repos>Pull на портале Azure DevOps.

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

  3. На экране отображается политика, выполняемая в данный момент.

  4. Выберите имя политики для проверки сборки. Если сборка завершится успешно, запрос на вытягивание будет объединен. Если сборка завершается ошибкой слияния, будет заблокирована.

Примечание.

Azure Pipelines больше не поддерживает политики хранения для каждого конвейера. Рекомендуется использовать правила хранения на уровне проекта.