2013-07-05 127 views
0

我有一个安装了三个代理的TFS 2010构建服务:数据库,生产和发布,每个构建都有相互独立的构建集。TFS构建与代理的排队

当构建排队时,不幸的是,无论它们准备好要使用哪个代理,它们似乎都以三个为一组排队。这意味着我们失去了我期望的并行性,如果一个代理程序的三个以上的版本同时运行,因为它们将占用整个队列。

有没有办法确保一旦自己的代理程序变得可用,构建就会排队等候,这样我们就可以拥有尽可能多的并行构建?

+0

”他们似乎排队三个小组,无论他们准备去哪个代理。“ 3组?你能详细解释一下吗?我没有抓住它。 – Isaiah4110

+0

当连续构建被触发时,所有东西都会排队。由于有三个代理,所以构建一次启动三个,但如果他们需要的代理正在使用中,则会阻止等待代理。 因此,例如,三个发布版本和一个生产版本运行。所有三个发布版本都开始启动,但第二个版本正在等待发布代理完成。同时,生产代理正在等待,无事可做。 –

+0

所以这是你的问题,据我所知 - 如果3个数据库或Prod或Release版本一次排队,它应该并行发生(使用PROD/Release构建代理),而不是等待数据库构建代理程序是免费的? ?? 我的问题: 1.您是否将构建映射到构建代理,如果是这样(标记??)? – Isaiah4110

回答

1

使用TFS 2010默认构建定义,您不能选择构建代理但只能构建控制器,除非您已对其进行了自定义。理想情况下,您应该有一个构建控制器,其中有多个构建代理。在构建定义中,您只需选择控制器名称,然后构建控制器将构建推送到当时免费的代理。您还可以使用标记来确保构建仅在特定的构建代理上运行。 “