TFS 2017如何按创建时间顺序定时部署多个待发布版本?
TFS 2017 强制按创建时间顺序部署发布操作方案
方案1:修改原生部署队列排序规则(最简便)
- 进入目标发布定义的「触发器」配置页,找到「部署队列设置」模块
- 将队列处理顺序调整为先入先出(FIFO),TFS 2017默认队列可能按优先级排序,修改后所有待部署发布会严格按照创建时间先后排队
- 确认「部署批处理」项已设置为
每次只部署一个发布,禁止并行部署打乱顺序
方案2:调整发布创建逻辑(从源端保证顺序一致)
- 打开关联的生成定义,关闭「生成成功后自动创建发布」的默认触发规则
- 新增一个每日凌晨2:55执行的定时任务,拉取当日所有成功生成的构件,按生成时间从早到晚的顺序批量创建对应发布,确保3点部署前的发布队列顺序和生成顺序完全匹配,部署时按FIFO规则自然顺序执行
方案3:新增前置校验脚本兜底(适配SQL增量强顺序要求)
- 在发布定义的最开头新增PowerShell脚本步骤,逻辑如下:
- 调用TFS REST API查询当前发布定义下所有状态为「待部署」的发布,按创建时间升序排序得到待部署列表
- 校验当前发布是否为列表中的第一个待部署项,如不是直接终止当前发布,返回
顺序不符,自动跳过标识 - 如为首个待部署项,继续执行后续SQL增量部署、WEB全量部署步骤
- 部署完成后自动标记当前发布为已部署状态,触发队列中下一个发布执行
注意:脚本查询需限定在当前发布定义范围内,避免拉取其他无关发布干扰排序;SQL增量部署前建议新增库备份步骤,降低异常风险
内容的提问来源于stack exchange,提问作者Serg
相关产品推荐
相关产品推荐

