创建由多个管道组成的管道

时间:2019-11-02 17:32:01

标签: azure-devops azure-pipelines

是否可以创建由其他管道组成的发布管道?

资产

就我而言,我有以下管道: -构建作业Job1(以构建一些应用程序工件) -构建作业Job2(以构建一些应用程序工件) -构建作业Job3(以构建其他工件,例如测试) -发布作业Release1(以从Job1和Job2部署应用程序表单工件) -发布作业Release2(以准备用于测试的特殊DB) -发布作业Release3(以从Job3运行测试)

每个上述构建都包含许多任务和任务组。

目标

正在准备以下管道,该管道将在每天晚上安排(因此只是定期的每晚构建发行版):

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

限制

我无法合并任何提及的作业/发布,因为我们需要独立运行其中的一些。

想法

我要讲的一件事是从所有作业和发布中创建任务组(已经由任务组组成...),并准备新的发布管道,但这听起来不是最好的选择。

1 个答案:

答案 0 :(得分:0)

您也许可以通过Trigger Build Task Azure DevOps extension.完成此操作,但是,您应该注意“已知问题”部分中的警告,该警告涉及将此扩展与Release管道一起使用。使用这种方法,您将创建一个包含对扩展的各种调用的单个“大型”管道,这将触发您现有的构建和发布管道。

我认为,更好的方法是采用YAML templates来创建YAML based pipelines。您可以为问题中概述的每个阶段创建一个模板,然后在管道中简单地引用该模板。这样,您可以让独立管道和“大型”管道引用相同的模板,以促进重用和改善可维护性。甚至还有一种简便的方法来export your current "classic" pipelines to YAML.