You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用YAML在Azure DevOps发布管道模块中创建非经典管道?

可以用YAML实现「发布」模块的部署能力,但无需在发布模块创建管道

完全可以用YAML替代经典发布管道的功能,不过不是在「流水线->发布」模块里创建YAML管道,而是通过多阶段YAML流水线来整合构建与发布流程,或者单独编写纯部署的YAML管道,具体方式如下:

  • 整合构建与发布:在同一个YAML文件中同时定义构建阶段和多个部署阶段(对应测试、生产等不同环境),每个部署阶段可以绑定Azure DevOps的「环境」资源,实现经典发布里的环境审批、部署历史追踪、资源检查等功能。
  • 纯部署YAML管道:如果只需要部署逻辑,可以单独编写仅包含部署作业的YAML文件,在「流水线」模块创建该YAML管道后,可通过手动触发、构建完成触发等方式执行部署,效果和经典发布管道一致。

举个简单的YAML示例,实现测试到生产的分阶段部署:

trigger: none # 关闭自动触发器,可手动触发或由构建管道触发

stages:
- stage: DeployToTest
  displayName: 部署到测试环境
  jobs:
  - deployment: DeployTest
    displayName: 执行测试环境部署
    environment: 'Test-Env' # 关联预先创建的测试环境
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo "执行测试环境部署脚本,比如部署到App Service"
            displayName: 部署测试环境

- stage: DeployToProduction
  displayName: 部署到生产环境
  dependsOn: DeployToTest
  condition: succeeded() # 测试环境部署成功后才执行
  jobs:
  - deployment: DeployProd
    displayName: 执行生产环境部署
    environment: 'Prod-Env' # 关联生产环境,可配置审批流程
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo "执行生产环境部署脚本"
            displayName: 部署生产环境

这种YAML方式的核心优势是将发布流程版本化管理,和代码、构建流程一起存储在仓库中,便于追踪变更、回滚,而经典发布管道是UI配置式的,无法做到版本控制。

内容的提问来源于stack exchange,提问作者Naveen kumar Shetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:30:52