Как использовать шаблон конвейера для нескольких конвейеров (в нескольких проектах) в разработках Azure - PullRequest
1 голос
/ 23 апреля 2019

Я новичок в работе с 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 были функции, аналогичные группам переменных, но для шаблонов конвейера, которые могли бы решить мою проблему, однако я не могу найти такую ​​функцию. Может ли кто-нибудь предложить решение этой проблемы?

...