YAML 与经典管道
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines 使开发人员能够自动执行各种任务,从执行批处理文件到为其应用程序设置完整的持续集成 (CI) 和持续交付 (CD) 解决方案。
Azure Pipelines 支持各种语言、平台和工具,有两种类型的管道可供选择:基于 YAML 的管道和经典管道编辑器。
注意
如果不熟悉 Azure Pipelines,建议从 YAML 管道开始。 对于现有的经典管道,可以选择继续使用它们或迁移到 YAML 管道。
使用 YAML 定义管道
管道配置与应用程序一起驻留在名为 azure-pipelines.yml
的 YAML 文件中。
YAML 文件随应用程序代码一起进行版本控制,并遵循相同的分支结构。
每个分支都可以通过编辑
azure-pipelines.yml
文件来自定义管道。将管道配置保存在版本控制中可确保在代码库中轻松识别导致问题或意外结果的任何更改。
有关说明,请参阅创建第一个管道,获取从 Git 存储库生成示例应用程序的分步指南。
使用经典界面定义管道
使用经典用户界面编辑器在 Azure DevOps Web 门户中创建经典管道。 可以定义管道以生成和测试代码,然后发布项目(二进制)。 此外,还可以定义发布管道来使用二进制(项目),并将其部署到特定目标。
使用经典用户界面编辑器在 Azure DevOps Web 门户中创建经典管道。 可以定义生成管道以生成和测试代码,然后发布项目(二进制)。 此外,还可以定义发布管道来使用二进制(项目),并将其部署到特定目标。
有关说明,请参阅生成和部署,获取使用经典管道生成和部署应用程序的分步指南。
功能可用性
Feature | 说明 | YAML | 经典管道 | 经典发布 |
---|---|---|---|---|
代理 | 在虚拟机或物理计算机上运行的软件组件,负责执行 Azure Pipelines 中定义的任务。 | doc | doc | doc |
审批 | 在部署到某个阶段之前,通过要求指定的审批者批准来控制部署工作流。 | doc | doc | |
项目 | 下载二进制文件和各种类型的程序包并将其发布到不同的目标。 | doc | doc | doc |
缓存 | 通过缓存和重用以前运行的依赖项来缩短生成时间。 | doc | doc | |
条件 | 指定步骤、作业或阶段运行的条件。 | doc | doc | doc |
Container jobs(容器作业) | 指定要在容器中运行的作业。 | doc | ||
需求 | 确保管道所需的功能位于运行的代理上。 | doc | doc | doc |
依赖项 | 指定运行下一个阶段必须满足的要求。 | doc | doc | |
部署组 & 环境 | 部署组(经典):定义一组配备部署代理的目标计算机。 环境 (YAML):以部署为目标的资源的集合。 |
doc | doc | |
部署作业 | 针对环境按顺序运行的部署步骤的集合。 | doc | ||
Gates | 在完成部署之前,通过评估外部服务的运行状况信号来自动执行发布控制。 | doc | ||
作业 | 一系列顺序步骤,构成可按计划运行的最小工作单元。 | doc | doc | doc |
Library | 可在 Azure Pipelines 中使用的资产集合。 库包含两种类型的资产:变量组和安全文件。 | doc | doc | doc |
服务连接 | 启用与执行作业中任务所需的外部服务的连接。 | doc | doc | doc |
服务容器 | 使你能管理容器化服务的生命周期。 最常用于容器作业。 | doc | ||
阶段 | 组织管道内的作业。 | doc | doc | |
任务组 | 将一系列任务封装到一个可重用的任务中。 | doc | doc | |
任务 | 定义构成管道作业的步骤的构建基块。 | doc | doc | doc |
模板 | 定义可重用的内容、逻辑和参数。 | doc | ||
触发器 | 定义导致管道运行的事件。 | doc | doc | doc |
变量 | 可在管道执行过程中使用的值的占位符。 | doc | doc | doc |
变量组 | 用于存储你要管理并在多个管道中共享的值和机密。 | doc | doc | doc |
Feature | 说明 | YAML | 经典管道 | 经典发布 |
---|---|---|---|---|
代理 | 在虚拟机或物理计算机上运行的软件组件,负责执行 Azure Pipelines 中定义的任务。 | doc | doc | doc |
审批 | 在部署到某个阶段之前,通过要求指定的审批者批准来控制部署工作流。 | doc | doc | |
项目 | 下载二进制文件和各种类型的程序包并将其发布到不同的目标。 | doc | doc | doc |
条件 | 指定步骤、作业或阶段运行的条件。 | doc | doc | doc |
Container jobs(容器作业) | 指定要在容器中运行的作业。 | doc | ||
需求 | 确保管道所需的功能位于运行的代理上。 | doc | doc | doc |
依赖项 | 指定运行下一个阶段必须满足的要求。 | doc | doc | |
部署组 & 环境 | 部署组(经典):定义一组配备部署代理的目标计算机。 环境 (YAML):以部署为目标的资源的集合。 |
doc | doc | |
部署作业 | 针对环境按顺序运行的部署步骤的集合。 | doc | ||
Gates | 在完成部署之前,通过评估外部服务的运行状况信号来自动执行发布控制。 | doc | ||
作业 | 一系列顺序步骤,构成可按计划运行的最小工作单元。 | doc | doc | doc |
Library | 可在 Azure Pipelines 中使用的资产集合。 库包含两种类型的资产:变量组和安全文件。 | doc | doc | doc |
服务连接 | 启用与执行作业中任务所需的外部服务的连接。 | doc | doc | doc |
阶段 | 组织管道内的作业。 | doc | doc | |
任务组 | 将一系列任务封装到一个可重用的任务中。 | doc | doc | |
任务 | 定义构成管道作业的步骤的构建基块。 | doc | doc | doc |
模板 | 定义可重用的内容、逻辑和参数。 | doc | ||
触发器 | 定义导致管道运行的事件。 | doc | doc | doc |
变量 | 可在管道执行过程中使用的值的占位符。 | doc | doc | doc |
变量组 | 用于存储你要管理并在多个管道中共享的值和机密。 | doc | doc | doc |
Feature | 说明 | YAML | 经典管道 | 经典发布 |
---|---|---|---|---|
代理 | 在虚拟机或物理计算机上运行的软件组件,负责执行 Azure Pipelines 中定义的任务。 | doc | doc | doc |
审批 | 在部署到某个阶段之前,通过要求指定的审批者批准来控制部署工作流。 | doc | doc | |
项目 | 下载二进制文件和各种类型的程序包并将其发布到不同的目标。 | doc | doc | doc |
条件 | 指定步骤、作业或阶段运行的条件。 | doc | doc | doc |
Container jobs(容器作业) | 指定要在容器中运行的作业。 | doc | ||
需求 | 确保管道所需的功能位于运行的代理上。 | doc | doc | doc |
依赖项 | 指定运行下一个阶段必须满足的要求。 | doc | doc | |
部署组 | 定义一组配备部署代理的目标计算机。 | doc | ||
部署作业 | 针对环境按顺序运行的部署步骤的集合。 | doc | ||
Gates | 在完成部署之前,通过评估外部服务的运行状况信号来自动执行发布控制。 | doc | ||
作业 | 一系列顺序步骤,构成可按计划运行的最小工作单元。 | doc | doc | doc |
Library | 可在 Azure Pipelines 中使用的资产集合。 库包含两种类型的资产:变量组和安全文件。 | doc | doc | doc |
服务连接 | 启用与执行作业中任务所需的外部服务的连接。 | doc | doc | doc |
阶段 | 组织管道内的作业。 | doc | doc | |
任务组 | 将一系列任务封装到一个可重用的任务中。 | doc | doc | |
任务 | 定义构成管道作业的步骤的构建基块。 | doc | doc | doc |
模板 | 定义可重用的内容、逻辑和参数。 | doc | ||
触发器 | 定义导致管道运行的事件。 | doc | doc | doc |
变量 | 可在管道执行过程中使用的值的占位符。 | doc | doc | doc |
变量组 | 用于存储你要管理并在多个管道中共享的值和机密。 | doc | doc | doc |