无法将队列添加到现有的 TFS 2015 Build 代理池 [英] Cannot add queue to existing TFS 2015 Build agent pool

查看:31
本文介绍了无法将队列添加到现有的 TFS 2015 Build 代理池的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在升级到 TFS 2015 后尝试设置构建服务器.

Trying to set up build server after upgrading to TFS 2015.

我设想的方式是:单个代理池,将有 3 个队列:1. 每晚构建2. CI 构建3. 门控/验证构建.

The way I envision is: Single Agent Pool, that will have 3 queues: 1. Nightly builds 2. CI builds 3. Gated/validation builds.

他们每个人都会有一些代理,目标是进行一些控制,以确保每晚构建不会消耗所有代理,因此门控队列将始终有一些可用的代理.

Each of them will have some agents, the goal is to have some control, to make sure nightly builds wouldn't consume all agent, so gated queue will always have some available agent.

我现在遇到的问题是,当我尝试添加新队列时,使用现有池"选项被禁用,我只能通过创建新代理池来添加队列.

The problem I have now is when I try to add new queue, the option "Use existing pool" is disabled, I can only add queue with creating new agent pool.

推荐答案

它没有按照您希望的方式工作.

It doesn't work the way you want it to work.

一个代理可以是一个且恰好是一个代理池的成员.代理池存在于服务器级别,而不是团队项目集合级别.

One agent can be a member of one and exactly one agent pool. The agent pool exists at the server level, not the Team Project Collection level.

一个代理队列绑定到一个且恰好是一个代理池.但是,跨团队项目集合边界的不同代理队列可以引用代理池.

One agent queue is tied to one and exactly one agent pool. However, agent pools can be referenced by different agent queues across Team Project Collection boundaries.

因此,这样做的结果是您可以在多个团队项目集合之间共享您的代理池.

So, the upshot of this is that you can share your agent pools across multiple team project collections.

在 VSTS 中,区别存在但不那么重要——您不能拥有多个团队项目集合,因此代理池和代理队列或多或少是等效的,您只需要管理它们.

In VSTS, the distinction exists but is less relevant -- you can't have multiple Team Project Collections, so an agent pool and an agent queue are more or less equivalent, you just have to manage both of them.

您可以使用自定义功能(在您的代理上)和需求(在您的构建定义上)以确保特定代理始终保留用于特定构建场景.

You can use custom Capabilities (on your agents) and Demands (on your build definitions) to ensure that particular agents are always reserved for particular build scenarios.

当然,基于任务的构建尚不支持 TFVC 的门控签入,因此您对门控代理始终可用的担忧没有实际意义,至少目前如此.

Of course, task-based builds don't support gated checkin for TFVC yet, so your concern about gated agents always being available is moot, at least for now.

既然所有这些都已解决,那么您的问题的答案很简单:

Now that all of that is out of the way, the answer to your question is simple:

问:我正在尝试创建一个使用现有池的队列,但是控件变灰.为什么?

Q: I'm trying to create a queue that uses an existing pool, but the controls are grayed out. Why?

答:在创建队列"对话框中,如果现有池已被另一个队列引用.每个池都可以被引用只有一个队列.如果删除现有队列,则可以使用游泳池.

A: On the Create Queue dialog box, you can't use an existing pool if it is already referenced by another queue. Each pool can be referenced by only one queue. If you delete the existing queue, you can then use the pool.

参考:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/agents/admin

这篇关于无法将队列添加到现有的 TFS 2015 Build 代理池的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆