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

如何在Azure中创建multi branch pipeline,实现提交触发带单元测试的独立构建

Azure DevOps多分支流水线创建及提交触发配置指南

前置准备

提前确保以下条件已满足:

  • 已创建可用的Azure DevOps项目
  • 业务代码和对应的单元测试代码已托管到Azure DevOps关联的代码仓库中
  • 本地开发环境的单元测试可正常运行

第一步:初始化多分支流水线

  • 进入对应Azure DevOps项目,点击左侧菜单栏「管道」-「管道」,点击右上角「新建管道」
  • 选择你所用的代码托管源(支持Azure Repos Git、GitHub、GitLab等),选中需要绑定的目标代码仓库
  • 配置代码页选择「Starter pipeline」,进入自定义YAML编辑界面

第二步:编写适配需求的流水线配置

你可以直接参考以下基础模板修改,适配你的技术栈即可实现需求:

# 流水线触发规则
trigger:
  # 此处替换为你们开发者统一提交的目标分支名,例如main、dev等
  branches:
    include:
      - main
  # 核心配置:关闭批量触发,每个提交都会生成独立的流水线运行实例
  batch: false

# 运行环境配置,可根据你的技术栈替换为Windows、macOS对应镜像
pool:
  vmImage: 'ubuntu-latest'

steps:
# 拉取当前提交的代码
- checkout: self
  fetchDepth: 1

# 代码构建步骤,以下为.NET项目示例,可替换为对应技术栈的构建命令
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '**/*.csproj'
    arguments: '--configuration Release'

# 单元测试步骤,执行完成后自动上报测试结果到Azure DevOps后台
- task: DotNetCoreCLI@2
  inputs:
    command: 'test'
    projects: '**/*Tests.csproj'
    arguments: '--configuration Release --collect:"XPlat Code Coverage"'
    publishTestResults: true

配置里的batch: false是满足你们需求的核心项,关闭批量触发后,就算4名开发者同时向同一分支推送代码,每个提交都会触发独立的构建流程,不会被合并执行,且每个流水线运行记录都会绑定对应的提交人、提交日志,方便问题追溯。

第三步:配置验证

保存YAML文件后,你可以按以下逻辑测试功能是否正常:

  1. 单次推送代码提交,确认流水线自动触发,单元测试环节正常运行
  2. 多个开发者同时推送不同提交,确认每个提交都生成了独立的流水线运行记录,运行之间互不干扰
  3. 检查流水线运行详情,确认单元测试结果、失败日志可正常查看

常见问题排查

  • 提交后未触发流水线:检查YAML中trigger.branches.include配置的分支名和实际提交分支名是否完全匹配,排除拼写错误
  • 单元测试环节执行失败:检查测试项目路径匹配规则是否正确,测试命令参数是否适配你的技术栈

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:18:03