Вместо агента по умолчанию, который будет отображаться как первый в списке, мы хотим иметь агент по умолчанию в качестве агента по умолчанию. Возможно ли это?
Боюсь, что существует готовая настройка для установки другого пула агентов по умолчанию.
На веб-портале мы могли бы выбрать другой пул агентов TFS по умолчанию в опции Очередь агента по умолчанию на вкладке Параметры сборки и сохранить it:
Эта настройка сохранена. Когда вы ставите в очередь сборку, пулом агентов по умолчанию будет агент, который вы указали выше:
И когда вы в следующий раз создадите очередь, агент по умолчанию будет тем, который вы установили ранее.
С другой стороны, мы могли бы добавить спецификацию требований , которые соответствуют конкретному агенту, например:
Agent.Name -equals AgentNameHere
Затем создайте очередь с помощью REST API и укажите требования:
Param(
[string]$collectionurl = "http://server:8080/tfs/DefaultCollection/",
[string]$projectName = "0323ScrumTFVC",
[string]$keepForever = "true",
[string]$BuildDefinitionId = "1",
[string]$user = "username",
[string]$token = "password"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
function CreateJsonBody
{
$value = @"
{
"definition": {
"id": $BuildDefinitionId
},
"sourceBranch": "$/0323ScrumTFVC",
"demands":["Agent.Name -equals AgentNameHere"]
}
}
"@
return $value
}
$json = CreateJsonBody
$uri = "$($collectionurl)/$($projectName)/_apis/build/builds?api-version=2.0"
$result = Invoke-RestMethod -Uri $uri -Method Post -Body $json -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
Билет здесь: Указание агента во время построения очереди с TFS 2015 .
Но , этот метод не работает для пользовательского интерфейса .
Проверьте документ Предопределенные переменные и Требования .