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

如何使用YAML配置创建Azure DevOps发布管道并定义阶段?

通过YAML创建Azure DevOps发布管道阶段

Azure DevOps支持使用多阶段YAML管道直接整合构建与部署(发布)流程,无需依赖经典的可视化发布管道。以下是具体实现方法:

核心思路

发布管道的阶段在YAML中以stage节点定义,与构建阶段结构一致,但侧重部署任务。你可以选择在现有构建YAML中添加部署阶段,或单独编写仅包含部署逻辑的YAML文件。

步骤1:定义部署阶段

示例:包含构建+测试+生产部署的完整YAML

# 构建阶段(保留你已有的构建逻辑)
stages:
- stage: Build
  displayName: '构建应用'
  jobs:
  - job: BuildApp
    pool:
      vmImage: 'ubuntu-latest'
    steps:
    - script: dotnet build --configuration Release
      displayName: '编译项目'
    - publish: $(Build.ArtifactStagingDirectory)
      artifact: AppPackage
      displayName: '发布构建产物'

# 部署到测试环境阶段
- stage: Deploy_Test
  displayName: '部署至测试环境'
  dependsOn: Build  # 依赖构建阶段成功完成
  condition: succeeded()  # 仅当前面阶段成功时执行
  jobs:
  - deployment: DeployTest
    displayName: '测试环境部署'
    environment: 'Test-Environment'  # 关联Azure DevOps中预创建的环境
    pool:
      vmImage: 'ubuntu-latest'
    strategy:
      runOnce:  # 简单单次部署策略,可选rolling/canary等
        deploy:
          steps:
          - download: current
            artifact: AppPackage
            displayName: '下载构建产物'
          - script: echo "部署至测试服务器:复制文件、配置环境变量..."
            displayName: '执行部署操作'

# 部署到生产环境阶段(带审批机制)
- stage: Deploy_Prod
  displayName: '部署至生产环境'
  dependsOn: Deploy_Test
  condition: succeeded()
  jobs:
  - deployment: DeployProd
    displayName: '生产环境部署'
    environment:
      name: 'Prod-Environment'
      resourceType: VirtualMachine  # 指定环境资源类型,如WebApp/Kubernetes等
    pool:
      vmImage: 'ubuntu-latest'
    strategy:
      runOnce:
        deploy:
          steps:
          - download: current
            artifact: AppPackage
            displayName: '下载构建产物'
          - script: echo "生产环境部署:执行滚动更新、健康检查..."
            displayName: '执行生产部署操作'

步骤2:配置关键特性

1. 环境与审批

在Azure DevOps中提前创建Test-Environment、Prod-Environment等环境,可在环境设置中添加审批人、部署检查(如负载均衡健康检查),这些规则会自动应用到YAML中关联该环境的部署阶段。

2. 部署策略

根据需求选择部署策略:

  • runOnce:单次部署,适合简单场景
  • rolling:滚动更新,逐步替换旧版本
  • canary:金丝雀部署,先向小部分用户推送新版本

3. 工件来源

通过download步骤获取构建阶段发布的产物,若单独编写发布YAML,需在管道配置中指定工件来源(如关联某个构建管道的产物)。

步骤3:创建并运行管道

  1. 进入Azure DevOps项目,点击「管道」→「新建管道」
  2. 选择代码仓库,找到你的YAML文件
  3. 保存管道并运行,即可触发包含构建与部署阶段的完整流程

内容的提问来源于stack exchange,提问作者Dinesh Sonachalam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:22:43