Azure 当构建管道中有相同的任务时,发布管道的目的是什么?

Azure 当构建管道中有相同的任务时,发布管道的目的是什么?,azure,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,我正在使用azure构建和发布管道。我知道build pipeline会生成一个工件,发布管道可以使用该工件,部署可以分为多个阶段,并带有部署/重新部署阶段的选项 但是,我还注意到,发布管道中可用的所有任务在构建管道中也可用。另外,构建管道的文档说明它可以用于构建、测试和部署。那么使用释放管道到底有什么好处呢?原则上没有。只是通常发布管道是面向部署的,构建管道是面向构建的。例如,詹金斯只有构建。你会发布版本。这实际上取决于您使用的解决方案。章鱼不能真正制造东西,但可以发布东西,并有工具使发布更容

我正在使用azure构建和发布管道。我知道build pipeline会生成一个工件,发布管道可以使用该工件,部署可以分为多个阶段,并带有部署/重新部署阶段的选项


但是,我还注意到,发布管道中可用的所有任务在构建管道中也可用。另外,构建管道的文档说明它可以用于构建、测试和部署。那么使用释放管道到底有什么好处呢?

原则上没有。只是通常发布管道是面向部署的,构建管道是面向构建的。例如,詹金斯只有构建。你会发布版本。这实际上取决于您使用的解决方案。章鱼不能真正制造东西,但可以发布东西,并有工具使发布更容易


在ADO中,您可以在发布管道中有阶段,因此您可以轻松地进行升级,您有批准门等,原则上没有。只是通常发布管道是面向部署的,构建管道是面向构建的。例如,詹金斯只有构建。你会发布版本。这实际上取决于您使用的解决方案。章鱼不能真正制造东西,但可以发布东西,并有工具使发布更容易


在ADO中,您可以在发布管道中有阶段,因此您可以轻松地进行升级,您可以使用批准门等

管道->发布下的管道是使用GUI制作的经典部署管道

新的YAML管道始终位于管道->管道下,并允许生成和部署作业:。 通过使用部署作业而不是传统版本,部署将显示在管道->环境下

因此,通过这种方式,双方都可以使用相同的任务是有意义的,因为双方都允许定义部署工作流。
YAML管道还没有与经典版本相同的功能,但我认为仍然缺少发布门。

管道->版本下的管道是使用GUI制作的经典部署管道

新的YAML管道始终位于管道->管道下,并允许生成和部署作业:。 通过使用部署作业而不是传统版本,部署将显示在管道->环境下

因此,通过这种方式,双方都可以使用相同的任务是有意义的,因为双方都允许定义部署工作流。
YAML管道还没有与经典版本相同的功能,但我认为仍然缺少发布门。

这是相同的任务,但不是相同的过程

现在,我要说的是管道负责持续集成,而发布管道更多的是持续交付。当所有部署特性都到达YAML管道时,情况就不是这样了

正如您所说,Azure发布管道可以使用YAML或classic管道的结果并自动触发,您可以使用不同的代理。YAML或classic管道代理需要所有工具来编译、测试和组装代码,当代理发布时,需要用于部署的工具以及对目标环境的正确访问权限

在发布管道中,您可以更轻松地按环境/阶段组织部署,添加可以单独启动的步骤,而无需重新启动整个管道(如应用程序恢复或切换到生产)

发布管道的工作流比YAML或经典构建管道更直观

从我的经验来看,目前主要的区别在于特征


您可以尝试仅在YAML管道上实现整个CI/CD流程,但使用Azure管道功能分离CI和CD的逻辑可能会更容易,因为YAML管道的部署功能仍在开发中

任务相同,但流程不同

现在,我要说的是管道负责持续集成,而发布管道更多的是持续交付。当所有部署特性都到达YAML管道时,情况就不是这样了

正如您所说,Azure发布管道可以使用YAML或classic管道的结果并自动触发,您可以使用不同的代理。YAML或classic管道代理需要所有工具来编译、测试和组装代码,当代理发布时,需要用于部署的工具以及对目标环境的正确访问权限

在发布管道中,您可以更轻松地按环境/阶段组织部署,添加可以单独启动的步骤,而无需重新启动整个管道(如应用程序恢复或切换到生产)

发布管道的工作流比YAML或经典构建管道更直观

从我的经验来看,目前主要的区别在于特征

您可以尝试仅在YAML管道上实现整个CI/CD流程,但使用Azure管道功能分离CI和CD的逻辑可能会更容易,因为YAML管道的部署功能仍在开发中

对于经典UI格式的构建和发布管道:

通常我们使用构建管道来构建/测试我们的项目,并输出经过测试的软件二进制文件

然后,我们可以根据需要使用发布管道将构件从构建管道部署到多个阶段。因此,我们只需要运行一次构建管道就可以获得包含软件二进制文件的工件,并且我们可以使用发布管道来重用工件并将其部署到不同的环境中。开发、生产

当然,我们可以使用构建管道来运行一些部署任务,也可以使用发布管道来运行构建和测试任务。我们可以,但不建议这样做,配置构建和发布UI管道可以使构建/测试的工作流与CI=>Deployment更相关,与CD更相关

如果您正在使用,则不需要使用ReleaseUI管道。您可以在一个xx.yml文件中定义CI/CD步骤。

对于经典UI格式的构建和发布管道:

通常我们使用构建管道来构建/测试我们的项目,并输出经过测试的软件二进制文件

然后,我们可以根据需要使用发布管道将构件从构建管道部署到多个阶段。因此,我们只需要运行一次构建管道就可以获得包含软件二进制文件的工件,并且我们可以使用发布管道来重用工件并将其部署到不同的环境中。开发、生产

当然,我们可以使用构建管道来运行一些部署任务,也可以使用发布管道来运行构建和测试任务。我们可以,但不建议这样做,配置构建和发布UI管道可以使构建/测试的工作流与CI=>Deployment更相关,与CD更相关


如果您正在使用,则不需要使用ReleaseUI管道。您可以在一个xx.yml文件中定义CI/CD步骤。

通过发布管道,您是指管道->发布中可用的管道吗?是管道->发布通过发布管道,您是指管道->发布中可用的管道吗?是管道->Releases@variableYaml管道!当我们只在其中编写几个作业时,它的功能与build pipeline类似,而不是100%相同。当我们在其中编写与阶段相关的语法时,我们可以称之为多级yaml管道,它可以进行构建和发布。这就是为什么我们提供CreateClassicBuild和ClassicRelease两个经典管道,但只有一个yaml格式管道。因为我们可以使用yaml管道进行构建和部署。所以“管道”选项卡中的管道是经典的构建管道;“发布”中的是经典的发布管道。1我们在哪里创建和查看YAML管道。哪个账单?2新管道称为YAML build、YAML relase或YAML build+release?1在管道选项卡中,我们可以创建经典构建或YAML管道。在“发布”选项卡中,我们可以创建经典发布管道。2我通常称之为yaml管道。但如果您愿意,您可以用两种方式调用它:yaml buildyaml管道,它只执行构建作业,而多级yaml可以执行部署。@variable yaml管道!当我们只在其中编写几个作业时,它的功能与build pipeline类似,而不是100%相同。当我们在其中编写与阶段相关的语法时,我们可以称之为多级yaml管道,它可以进行构建和发布。这就是为什么我们提供CreateClassicBuild和ClassicRelease两个经典管道,但只有一个yaml格式管道。因为我们可以使用yaml管道进行构建和部署。所以“管道”选项卡中的管道是经典的构建管道;“发布”中的是经典的发布管道。1我们在哪里创建和查看YAML管道。哪个账单?2新管道称为YAML build、YAML relase或YAML build+release?1在管道选项卡中,我们可以创建经典构建或YAML管道。在“发布”选项卡中,我们可以创建经典发布管道。2我通常称之为yaml管道。但如果您愿意,您可以用两种方式来调用它:yaml buildyaml管道(只进行构建作业)和多级yaml(可以进行部署)。