Azure经典流水线:如何用单条构建+发布流水线管理3条分支?
可以实现,以下是具体配置步骤
一、单条经典构建流水线配置
1. 配置多分支CI触发器
进入构建流水线的「触发器」选项卡,在「持续集成」部分添加三个分支:refs/heads/dev、refs/heads/release、refs/heads/master。任何一个分支有代码提交时,都会触发这条构建流水线运行。
2. 动态适配分支源码
在「获取源代码」步骤中,无需固定分支,经典构建会自动识别触发构建的分支并拉取对应源码。可通过系统变量$(Build.SourceBranchName)获取当前触发的分支名称(如dev、release、master),用于后续步骤的区分。
3. 分支差异化构建(可选)
如果不同分支需要执行不同构建逻辑(比如master分支需额外做代码签名、静态代码检查),可给步骤添加条件判断:
- 选中目标步骤,打开「选项」面板
- 在「运行此任务」的条件中选择「自定义条件」,输入类似规则:
只有当构建来自master分支时,该步骤才会执行。eq(variables['Build.SourceBranchName'], 'master')
4. 带分支标识的制品输出
在「发布制品」步骤中,给制品名称添加分支前缀,比如设置为app-$(Build.SourceBranchName),生成的制品会带有分支标识(如app-dev、app-master),方便后续发布时区分。
二、单条经典发布流水线配置
1. 关联构建制品源
进入发布流水线的「工件」选项卡,选择之前配置的单条构建流水线作为源,确保能拉取到所有分支生成的制品。
2. 配置多环境与分支触发规则
创建三个对应环境(开发环境、预发布环境、生产环境),并为每个环境设置触发条件:
- 进入环境的「触发器」面板,选择「持续部署触发器」
- 启用触发器后,在「分支过滤」中添加对应分支:
- 开发环境:仅允许
refs/heads/dev分支的构建触发部署 - 预发布环境:仅允许
refs/heads/release分支的构建触发部署 - 生产环境:仅允许
refs/heads/master分支的构建触发部署
- 开发环境:仅允许
3. 分支差异化部署(可选)
如果不同环境的部署逻辑有差异(比如生产环境需跳过测试步骤),同样可以给部署步骤添加条件判断,使用变量$(Build.SourceBranchName)区分分支,执行对应逻辑。
4. 手动审批(可选)
对于master分支的生产环境部署,可在环境的「审批」面板添加手动审批环节,确保发布前经过人工确认。
内容的提问来源于stack exchange,提问作者Totoblo
相关产品推荐
相关产品推荐

