【问题标题】:Restrict use of Team Foundation Server Build Controller限制使用 Team Foundation Server 构建控制器
【发布时间】:2014-10-22 00:46:23
【问题描述】:

在一家公司,我们正在运行 TFS 2013 Update 3。我们正在使用具有多个团队项目集合、构建控制器和构建代理的共享构建基础架构。

现在,一个项目要求使用专用的构建机器来提高性能和特定的配置选项。

TFS 中有没有办法将构建控制器链接到他们的团队项目并禁止其他团队项目使用这个特定的构建控制器?

【问题讨论】:

    标签: tfs tfsbuild


    【解决方案1】:

    正如 JustTFS 建议的标签是一种方法。我发现的问题是,默认情况下构建定义设置为在任何代理上运行,而不管标签如何。因此,虽然您可以将代理标记为 ProjectX,并将所有 ProjectX 的构建设置为仅使用具有该标签的代理 - ProjectA 的构建可能仅使用默认值,如果可用,也将使用 ProjectX 代理。

    我现在更喜欢做的(我以前使用标签方法),是为每个团队项目都有一个构建控制器。这样,ProjectX 构建定义被设置为使用 ProjectX 控制器。而且由于 ProjectA 构建定义设置为使用 ProjectA 控制器(或某些通用控制器),因此 ProjectA 构建将永远不会在 ProjectX 构建服务器上运行。

    【讨论】:

    • 好的,这是一个想法。创建一个简单的应用程序来检查所有构建定义是否都定义了标签并不难。
    • 忘了那个!很着急。如果您需要与大型开发团队一起运行多个封闭式构建,您也可以执行类似的操作
    【解决方案2】:

    构建控制器与团队项目集合相关联,您不能真正专门指定特定项目。

    您可以做的是使用标签,并使用标签 (ProjectA) 标记特定的构建服务器 (Agent)。然后,您可以在构建定义中指定该标签,以便该构建将仅在具有该标签的构建服务器上运行。

    该示例显示了我的旧代码 VS2008 Build Controller Tag。您还可以通过在名称过滤器中指定其名称来过滤代理

    【讨论】:

    • 谢谢!我现在介绍标签的使用,它们绝对可以用于确保项目构建仅在控制器 X 上运行。我觉得很遗憾你不能“标记”构建控制器,因此它只能在特定项目中使用.
    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 2013-01-30
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2013-11-04
    • 2020-01-18
    • 2010-10-03
    相关资源
    最近更新 更多