【发布时间】:2021-11-05 10:15:44
【问题描述】:
使用 TFS 2017。我有一个构建定义,可以创建要部署到 WEB 和 SQL 服务器的工件。由于一些限制,每个构建都有用于 SQL 部署和完全部署到 WEB 服务器的增量包。每次创建新版本的工件时,我都会创建新版本,但我们不想立即部署。我们的部署应该在特定时间开始。因此,发布定义具有按计划部署到的环境(比如说凌晨 3 点)。
现在,有时我们会在白天运行多个构建,创建多个版本以在凌晨 3 点部署。一切看起来都很棒,但是……在凌晨 3 点,所有待处理的版本都乱序部署(例如 5、3、1、4、2)。这不好,因为第 2 版将“清除”添加到第 3、4 和 5 版的更改。
我们如何强制部署发布的顺序?我已经设置了凌晨 3 点的时间表,一次只部署 1 个版本,但仍未获得预期的结果。
我知道可以选择仅部署最新版本,但这会使我们的流程复杂化很多(我们的构建为数据库生成增量包的原因之一,是的,版本 5 可能会更新相同的过程或已更新的视图到第 2 版,所以顺序很重要)。
无法做到这种简单且非常合乎逻辑的部署类型是很奇怪的。我错过了什么吗?
谢谢。
【问题讨论】:
-
您的意思是即使您选择了选项一个接一个地部署它们,您仍然有这个问题吗?
-
是的。它们“一次一个”部署,但顺序随机。在我的测试中,我创建了版本 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 并等待部署。它们按以下顺序部署:6、8、10、7、4、9、2、5、3、1、12、11、13、14、15。在 TFS 2017 和 TFS 2018(本地)上进行了尝试-相同.
标签: deployment tfs release