我有一个关于TFS 2012处理排队构建的顺序的问题。我从Microsoft站点获得了一些信息,说明构建处理的顺序取决于它们排队的时间和优先级。
我有以下情况:
我有一个构建控制器和两个代理: - 具有标记“Build”的代理1 - 代理商1,标签为“TheRest”
我有两个构建定义: - “构建” - >使用“Build”标签指定 - “部署” - >也使用“Build”标签指定
我排队构建定义“Build”的5个版本。 在此之后,我立即排队定义“Deploy”。
“部署”构建在队列中获得位置6,这是正确的。 但出于某种原因,“Deploy”构建在第一个“Build”构建完成后开始。
由于这两个构建定义具有相同的Tag并具有相同的优先级,我认为它们将按照我对它们排队的顺序顺序启动。但显然事实并非如此。
我在这里缺少一些东西,或者有人对此行为有解释?
由于
亲切的问候, 迈克尔
答案 0 :(得分:0)
我相信你给出的解释是正确的。 TFS尝试对构建进行负载均衡,并且没有内在的知识,即一个构建必须在另一个构建之前,所以它只是在你给它的构建中尽可能快地完成。
在类似情况下,我使用此方法按顺序对构建进行排队:
http://blog.stangroome.com/2011/09/06/queue-another-team-build-when-one-team-build-succeeds/