Azure DevOps中的构建管道和发布管道有什么区别?

Azure DevOps中的构建管道和发布管道有什么区别?,azure,azure-devops,azure-pipelines,devops,Azure,Azure Devops,Azure Pipelines,Devops,我使用.yaml文件在azuredevops中设置了几个多级构建管道。我读过关于“发布管道”的文章,我想知道这些有什么好处 他们似乎也这么做了,甚至不提供任何帮助。那么这里的主要区别是什么?在Azure DevOps中,在出现多阶段yaml管道(现在称为“管道”)之前,您通常使用构建管道来构建/创建软件的二进制文件(例如dotnet publish或ng build--prod)并将这些工件存储在Azure DevOps放置位置 然后,您通常会有一个Releasee管道,该管道由这些构建工件(软

我使用
.yaml
文件在
azuredevops
中设置了几个多级构建管道。我读过关于“发布管道”的文章,我想知道这些有什么好处


他们似乎也这么做了,甚至不提供任何帮助。那么这里的主要区别是什么?在Azure DevOps中,在出现多阶段yaml管道(现在称为“管道”)之前,您通常使用构建管道来构建/创建软件的二进制文件(例如dotnet publish或ng build--prod)并将这些工件存储在Azure DevOps放置位置

然后,您通常会有一个Releasee管道,该管道由这些构建工件(软件二进制文件)触发,并将它们部署到一个或多个阶段

将这两个管道(构建和发布)分开的原因是,您希望只构建一次特定版本的软件,然后在每个目标环境(例如开发/测试/生产环境)中使用相同的二进制文件

对于新的管道,您通常使用第一个阶段来构建工件,然后使用下一个阶段来部署工件——与之前类似,只是在一个模块中

如果您以前使用过构建和发布管道,您将在新管道模块中看到旧的构建定义,在旧的发布模块中看到旧的发布定义。但是,他们从未将YAML带到发布管道中,因为他们知道无论如何都会用多阶段管道替换它们


结论:如果使用新的多阶段“管道”模块,则不应再使用经典的发布管道。

Yaml仍在开发中,发布管道中的某些功能无法完全替换,例如:

  • YAML管道中尚不支持排队策略
  • YAML管道等中不支持任务组
类似地,构建管道中的某些功能也没有被完全替换,例如

  • Bitbucket云当前不支持触发标记 回购协议
  • YAML PR触发器仅在GitHub和Bitbucket云中受支持。等等

因此,随着yaml的发展,它的功能将越来越全面,但现在发布管道的一些功能无法完全替代,发布管道仍然有价值。

谢谢澄清!现在这对我来说更有意义。然而,奇怪的是,微软的一些官方文档仍然指向是“释放”管道和我在网上找到的许多TIPP/教程使用的是不同版本的不同UI。部署组呢?以前它们只受发布管道的支持。@Flex抱歉,我没有关于这一点的其他信息。@MartinBrandl,我对ADO非常陌生-当你提到多阶段管道模型与t经典版本管道,你是说我们应该在构建过程中使用管道=>Pipelines,并通过将构建工件添加到多阶段版本中来使用管道=>Release来创建多阶段部署吗?@Chris No.你不应该再使用“Release”模块了。相反,你应该编写多阶段管道(在“管道”模块),其中第一个阶段应该是“构建”阶段,然后还有一个部署阶段……虽然YAML PR触发器不适用于AzureRepos,但可以使用构建策略进行设置。