Создать конвейер, состоящий из нескольких конвейеров - PullRequest
1 голос
/ 02 ноября 2019

Есть ли возможность создать релиз-конвейер, состоящий из других конвейеров?

Активы

В моем случае у меня есть следующие конвейеры: - сборка задания Job1 (для создания некоторых артефактов приложения) - сборка задания Job2 (для создания некоторых артефактов приложения) -задание сборки Job3 (для создания других артефактов, например тестов) - выпустить задание Release1 (для развертывания артефактов формы приложения из Job1 и Job2) - выпустить задание Release2 (подготовить специальную базу данных для тестов) - выпустить задание Release3 (запустить тесты из Job3)

Каждая из вышеперечисленных сборок состоит из множества задач и групп задач.

Цель

Должна подготовить следующий конвейер, который будет планироваться каждую ночь (то есть просто обычный ночной выпуск сборки):

[trigger: at specific time] -> (Job1, Job2, Job3) -> Release2 -> Release1 -> Release3

Ограничения

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

Идеи

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

1 Ответ

0 голосов
/ 05 ноября 2019

Этого можно достичь с помощью расширения Trigger Build Task Azure DevOps. Однако в разделе «Известные проблемы» следует учитывать предупреждение об использовании этого расширения с конвейерами выпуска. При таком подходе вы создадите один «мега» конвейер, состоящий из различных вызовов к расширению, который вызовет ваши существующие конвейеры сборки и выпуска.

На мой взгляд, лучшим подходом было бы принять использование шаблоны YAML для создания конвейеров на основе YAML . Вы можете создать шаблон для каждого этапа, который вы указали в своем вопросе, а затем просто ссылаться на шаблон в своих конвейерах. Таким образом, вы могли бы иметь свои автономные конвейеры и ваши «мега» конвейеры, ссылающиеся на одни и те же шаблоны, чтобы способствовать повторному использованию и улучшить удобство сопровождения. Существует даже простой способ экспортировать ваши текущие «классические» конвейеры в YAML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...