Azure devops azure devops中管道和发布管道的区别是什么?

Azure devops azure devops中管道和发布管道的区别是什么?,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,选择此选项时将生成yaml文件,如下所示: 在这个yaml文件中,您可以定义从restore->build->run tests->publish and->deploy to azure app service web app开始的整个部署周期 那么,为什么会有发布选项呢?如果我可以通过Pipelines->Pipelines选项定义整个生命周期,那么Pipelines->Releases选项的用途是什么 管道是最新版本的DevOps用户界面中的一个名称。在旧UI中,它是这样的: 可以说,

选择此选项时将生成yaml文件,如下所示:

在这个yaml文件中,您可以定义从
restore->build->run tests->publish and->deploy to azure app service web app
开始的整个部署周期

那么,为什么会有发布选项呢?如果我可以通过
Pipelines->Pipelines
选项定义整个生命周期,那么
Pipelines->Releases
选项的用途是什么


管道是最新版本的DevOps用户界面中的一个名称。在旧UI中,它是这样的:

可以说,
管道
(或构建,或构建管道)代表Azure DevOps中的CI(持续集成)<代码>发行版表示Azure DevOps中的CD(连续交付)。管道通常接受代码、构建代码、测试并创建工件。Release获取工件并释放/部署它

用法取决于您的项目

如果您有一个小项目,并且不需要发布特性(例如,部署前条件和批准),那么您可以使用您提到的管道:
恢复->构建->测试->部署
,并且不需要发布

如果您的项目很大,并且有很多开发人员参与,那么最好有一个管道,它可以在开发人员每次推到公共repo时构建、运行单元测试、执行其他自动化并生成工件。因此,您可以确保所有问题都已解决,并且集成测试已通过。管道还可以最终向开发环境/服务器发布/部署任务,以进行内部工作、使用和测试


在大型项目中,您不需要部署每次推送到公共回购。所以您可以确定一个负责部署到生产环境的版本。它具有为此而设计的功能,如预批准,因此每个人都同意它是生产的正确版本(或工件)。

正如Microsoft文档中所述,“发布”部分是他们的“经典编辑器”解决方案:

“管道”部分提供了两种创建管道的方法:

  • YAML代码
  • 经典UI编辑器
  • Classic基本上是指Azure DevOps管道的原始创建方式。通过以交互方式使用GUI编辑器来构建管道。在助手的帮助下,从YAML创建管道是较新的方法

    “管道”部分的主要内容是,通过编写YAML代码,您可以将CI/CD策略配置为代码,其中管道定义与代码一起存在

    他们最新的学习资源还表明要使用YAML,并在同一管道中创建构建和部署阶段

    我建议:

    • 如果您喜欢使用经典UI编辑器,请使用“管道”部分进行构建,使用“发布”部分进行部署
    • 如果您喜欢使用YAML,只需使用“管道”部分进行构建和部署,并创建一个多级管道


    编辑:2020年5月11日更新,

    以下答案是否有助于实现您的目标?如果是,您可以接受答案,这样其他用户就可以看到解决方案是否有效。如果您仍然面临一些问题,请随意在此处留下评论:-)这并不准确,因为管道(指定为YAML文件时)也支持发布场景。@DanielMann她没有说相反的话,她正在回答op的问题,通过解释两者之间的差异,他们的命名方式确实存在误导。在新的更新(2020年5月11日)中,CI部分使用yaml,CD部分使用yaml有意义吗?@JoDG这取决于您的管道设计和一般工作流程。假设您希望部署基本lambda函数。将整个构建/测试/部署过程作为一个多阶段管道使用一个YAML定义是有意义的。另一方面,假设您正在部署构建方式不同但部署方式相同的大型微服务。在这种情况下,有一个由多个“CI”构建/测试管道触发的“CD”管道是有意义的。