0

我正在尝试为相当复杂的 Azure Devops 构建管道寻找解决方案。

我有 3 个存储库(我们称它们为 RepoA、RepoB 和 RepoC),每个存储库都包含需要为这些存储库中的构建运行的作业模板。

我还有一个构建存储库,其中包含所有 3 个主要存储库中的作业使用的任务模板。

但是,在尝试构建可以跨不同存储库运行作业的统一管道时,我遇到了一个主要问题。虽然我可以使用指向 RepoA、RepoB 和 RepoC 的存储库资源来实现管道,但是当我使用 templateJob.yaml@RepoA 语法从这些存储库中的任何一个添加模板作业时,由于 commonTaskTemplate.yaml@build 我收到一个错误在 RepoA 的作业模板中引用。

引用另一个模板时,其他存储库中的模板可能未指定存储库源。

这个问题有什么干净的解决方法吗?我可以将任务模板实现为 Azure Devops 扩展中的自定义任务,但这会使对这些共享任务进行任何更改变得更加困难。我还可以在每个 repo 的每个分支中重新实现共享任务,但这会使维护成为一场噩梦,因为这些任务几乎不可能更新。

似乎我能想出的每一个替代方案都导致更新常见任务非常困难,而且似乎应该有一些方法可以更轻松地做到这一点,因为我无法想象需要跨存储库的常见任务和一个常见的跨存储库构建的管道可能并不常见。

关于如何解决此限制的任何其他想法?

4

0 回答 0