【问题标题】:Stopping TFS 2010 controller from using an agent based on tags停止 TFS 2010 控制器使用基于标签的代理
【发布时间】:2014-11-19 21:30:42
【问题描述】:

我正在使用 TFS 2010 并且有一个构建机器,其中包含一个运行 2 个代理的构建控制器。

我发现我可以为我的第二个代理分配一个“Nightly”标签,然后在 TFS 中编辑我的 Nightly Builds 的构建定义,只使用一个带有“Nightly”标签的代理。

很简单。

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

我可以遍历我们所有的开发版本 (20+) 并添加 tags=normal 并用 normal 标记我的主要构建代理,但这依赖于人们记得在未来标记新的构建。

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

编辑

我最终通过让我的所有构建在空标签上查找“matchExactly”来解决这个问题,这意味着我的“夜间”标记代理将永远不会用于 CI。

【问题讨论】:

    标签: tfs continuous-integration tfsbuild


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      这样您也不必更改当前的构建定义。

      【讨论】:

        猜你喜欢
        • 2018-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-20
        • 1970-01-01
        • 1970-01-01
        • 2017-05-04
        相关资源
        最近更新 更多