天蓝色devops中的Pipeline和Release Pipeline有什么区别?

时间:2019-10-26 21:53:24

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

选择以下所示的选项时,将生成一个Yaml文件:

the C++ standard

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

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

enter image description here

2 个答案:

答案 0 :(得分:16)

如Microsoft文档所述,“发布”部分是其“经典编辑器”解决方案:Link

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

  1. YAML代码
  2. 经典UI编辑器

经典的基本含义是创建Azure DevOps管道的原始方式。通过以交互方式使用GUI编辑器来构建管道。在助理的帮助下从 YAML 创建的管道是较新的方法

“管道” 部分主要具有“发布” 的功能不是,通过编写YAML代码,您可以将CI / CD策略配置为代码,在哪里,管道定义与您的代码一起存在。

他们最新的学习资源还指示使用YAML并在同一管道Deploy applications with Azure DevOps中创建构建和部署阶段

我建议:

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

Pipeline with multiple stages

编辑:2020年5月11日更新,Pipelines YAML CD features now generally available

答案 1 :(得分:5)

管道是Builds的最新DevOps用户界面中的名称。在旧版用户界面中,它是这样的: enter image description here

可以说Pipeline(或Build或Build Pipeline)代表Azure DevOps中的CI(连续集成)。 Release代表Azure DevOps中的CD(连续交付)。管道通常需要代码,对其进行构建,测试并创建工件。 Release拿走了工件,然后对其进行释放/部署。

用法取决于您的项目。

如果您的项目很小,并且不需要发布功能(例如,部署前的条件和批准),则可以使用restore -> build -> tests -> deploy这样的管道,而无需发布。

如果您的项目很大,并且有很多开发人员参与,那么每次开发人员推送到通用仓库时,最好使用Pipeline来构建,运行单元测试,执行其他自动化操作以及带有工件的结果。因此,您可以确定一切都已解决,并通过了集成测试。管道还可以最终将发布/部署任务发布到开发环境/服务器,以进行内部工作,使用,测试。

在大型项目中,您无需将所有推送都部署到通用存储库。因此,您可以确定将负责部署到生产环境的发行版。它具有为此目的而设计的功能,例如预先批准,因此每个人都同意这是用于生产的正确构建(或工件)。