如何在VSTS发布中按特定制品触发对应环境流水线?
实现VSTS发布管道按分支触发指定环境组的方案
这个需求完全可以通过Azure DevOps(原VSTS)发布管道里的环境分组+分支触发规则配置来实现,不用拆分多个发布,正好满足你简化维护的诉求,具体操作步骤如下:
1. 先对环境进行分组
首先在你的发布管道里,把需要区分触发的环境分成两组:
- 选中上方3个需要
master分支触发的环境,点击顶部的「分组」按钮,创建一个组(比如命名为Master专属环境组) - 选中下方2个需要
hotfix分支触发的环境,同样创建一个组(比如命名为Hotfix专属环境组)
分组后你可以折叠/展开组,后续维护起来会更整洁。
2. 配置分分支的连续部署(CD)触发器
进入发布管道的「触发器」选项卡,找到「连续部署触发器」模块:
- 先关闭默认的触发规则(如果之前开启了的话),避免所有环境被无差别触发
- 添加第一个触发规则:
- 分支筛选条件设置为
master - 在「要部署的环境」下拉框里,选择你刚才创建的
Master专属环境组,这样只有这个组里的3个环境会在master制品触发时启动
- 分支筛选条件设置为
- 添加第二个触发规则:
- 分支筛选条件设置为
hotfix/*(如果是特定的hotfix分支,也可以写具体分支名,用通配符更灵活) - 在「要部署的环境」下拉框里,选择
Hotfix专属环境组,这样hotfix制品触发时只会启动这个组里的2个环境
- 分支筛选条件设置为
额外注意点
- 如果你的环境之前单独配置了「环境触发器」,建议统一用上面的CD触发器规则来管理,避免规则冲突
- 可以测试一下:手动触发
master分支的制品构建,确认只有上方3个环境启动;再触发hotfix分支的制品,确认下方2个环境启动,验证配置是否生效
内容的提问来源于stack exchange,提问作者user2110845
相关产品推荐
相关产品推荐

