Я новичок в работе с DevOps Azure и пытаюсь настроить конвейеры сборки для нескольких проектов и разделить шаблон yml
между ними. Я продемонстрирую более четко, чего я хочу достичь, но сначала позвольте мне показать вам структуру наших проектов:
proj0-common/
|----src/
|----azure-pipelines.yml
|----pipeline-templates/
|----build-project.yml
|----install-net-core
proj1/
|----src/
|----azure-pipelines.yml
proj2/
|----src/
|----azure-pipelines.yml
proj3/
|----src/
|----azure-pipelines.yml
Первая папка - наш проект Common
, в который мы хотим поместить наши общие сценарии и пакеты и использовать их в своих проектах. Остальные папки (proj1-proj3) являются основными проектами .net и действуют как микросервисные проекты. Как видите, каждый проект имеет свой собственный файл конвейера azure-pipelines.yml
, и каждый проект находится в своем собственном хранилище в Github. Затем существуют файлы конвейера шаблонов (build-project.yml
и install-net-core
), которые находятся в общем проекте.
Все проекты имеют одинаковые этапы сборки, поэтому я хотел бы использовать шаблон build-project.yml
для всех трех проектов (вместо жесткого кодирования каждого шага в каждом файле).
Моя проблема в том, что, поскольку они находятся в разных проектах, я не могу получить доступ к файлам шаблонов просто, скажем, из project3, просто обращаясь к нему так:
.
.
.
- template: ../proj0-common/pipeline-templates/build-project.yml
.
.
.
И [я считаю] причина в том, что каждый проект будет иметь свой собственный изолированный пул сборок (пожалуйста, исправьте меня, если я ошибаюсь).
Я подумал, что если бы у DevOps Azure были функции, аналогичные группам переменных, но для шаблонов конвейера, которые могли бы решить мою проблему, однако я не могу найти такую функцию. Может ли кто-нибудь предложить решение этой проблемы?