TFS单Azure worker场景下如何锁定worker执行完整release pipeline?
单Azure Worker下锁定执行完整TFS Release Pipeline的解决方案
你提到的多阶段发布管道截图参考:
方案1:配置专用代理池
- 单独创建一个仅归属该发布管道使用的专用代理池,仅将当前的1个Azure Worker加入该池,限制其他业务管道使用该池资源
- 在发布管道的配置页指定运行代理池为上述新建的专用池,从根源避免其他管道抢占Worker
方案2:开启阶段独占锁
- 打开对应发布管道的编辑界面,进入每个阶段的运行选项配置栏
- 开启独占访问权限(Exclusive Lock),配置生效后,发布启动后会锁定占用的Worker直到所有关联阶段全部执行完成,期间Worker不会承接其他管道的任务
方案3:调整代理并行配置
- 在TFS服务端的代理池配置中,将该Azure Worker的并行作业数设置为
1,同时开启作业序列化开关 - 可额外在发布管道中添加校验逻辑,保证同一时间仅能有一条该类型的发布处于运行状态,避免插队
方案4:合并多阶段为单阶段(临时适配方案)
如果暂时无法调整全局代理配置,可以将当前拆分的多个发布阶段合并为同一个阶段下的多个串行作业,同一个阶段的作业默认会在同一个Worker上按顺序执行,不会被其他管道任务插队
内容的提问来源于stack exchange,提问作者Foxhunt
相关产品推荐
相关产品推荐

