停止TFS 2010控制器使用基于标记的代理

停止TFS 2010控制器使用基于标记的代理,tfs,continuous-integration,tfsbuild,Tfs,Continuous Integration,Tfsbuild,我使用的是TFS 2010,有一台生成机器,其中包含一个运行2个代理的生成控制器 我已经计算出,我可以将标记“Nightly”分配给我的第二个代理,然后在TFS中编辑我的Nightly构建的构建定义,以仅使用标记为“Nightly”的代理 很简单 然而,这里的问题是,如果出现一个正常的构建(比如dev/CI),理论上它可以使用我的夜间代理,这是我不希望发生的 我可以遍历所有的开发构建(20+),添加一个tags=normal,并用normal标记我的主构建代理,但这取决于人们记住在将来标记新构建

我使用的是TFS 2010,有一台生成机器,其中包含一个运行2个代理的生成控制器

我已经计算出,我可以将标记“Nightly”分配给我的第二个代理,然后在TFS中编辑我的Nightly构建的构建定义,以仅使用标记为“Nightly”的代理

很简单

然而,这里的问题是,如果出现一个正常的构建(比如dev/CI),理论上它可以使用我的夜间代理,这是我不希望发生的

我可以遍历所有的开发构建(20+),添加一个
tags=normal
,并用
normal
标记我的主构建代理,但这取决于人们记住在将来标记新构建

有没有办法在TFS的服务器管理中设置我的构建代理,以便它只运行带有特定标记的项目?还是我的“绕房子走”方法是唯一合乎逻辑的方法

编辑


我最终解决了这个问题,让我所有的构建都在空标记上寻找“matchjustice”,这意味着我的“夜间”标记代理永远不会用于CI

我希望这个代理已经在它自己的服务器上运行,否则就没有理由单独使用它

您可以给这个特定的构建代理它自己的构建控制器,这样,与“CI”构建控制器关联的构建机会为零。除非人们为其生成定义选择了不正确的生成控制器


通过这种方式,您也不必更改当前的生成定义。

我相信生成定义的默认值是matchquick,并且有一个空的标记过滤器字段。这意味着默认情况下,生成定义将仅在具有零标记的生成代理上运行。因此,您希望的行为应该是默认行为,当您使用Nightly标记标记构建代理时,除非有人明确进入并更改该构建定义的默认代理设置,否则不会在该代理上运行任何构建