【问题标题】:Specifying agent at queue build time with TFS 2015使用 TFS 2015 在队列构建时指定代理
【发布时间】:2018-04-22 23:12:01
【问题描述】:

是否可以配置构建,以便您在手动排队构建时设置希望它在哪个代理上运行?

【问题讨论】:

    标签: azure-devops tfsbuild


    【解决方案1】:

    看来这是 VSTS 2015 上的唯一方法:

    没有友好的下拉菜单,因此您必须输入。

    【讨论】:

    • 是的,对于本地 TFS 或 VSTS 的私有代理,我们只能将需求设置为与您要使用它运行的代理相匹配。请参阅我的更新答案。
    【解决方案2】:

    你的场景有什么特别之处吗?

    通常,在 VSTS 中,您可以在手动排队构建时直接选择要运行的代理(托管):


    更新:

    如果您使用本地 TFS(在您的场景中为 TFS 2015)或 VSTS 的私有代理。然后,您可以在排队构建时设置需求

    您还可以使用 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)}
    

    【讨论】:

    • 感谢您的回答。我在标题中添加了“2015”,因为这就是我们正在使用的。现在看来 2017 年迎合了这一点,所以我会推动升级。干杯!
    • @BenPower VSTS 特定于Visual Studio Team Services(TFS 在线),上面的屏幕截图是从 VSTS 捕获的。根据您的说明,您使用的是 TFS 内部部署 2015,通常我们将其称为 TFS 2015。所有版本的内部部署 TFS(vNext 版本,包括 2015 年及之后的版本)的行为都是相同的。这意味着即使您升级到 TFS 2017,我们也只能设置 需求 来实现这一目标。
    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 2016-07-19
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2017-03-21
    • 2018-06-19
    • 1970-01-01
    相关资源
    最近更新 更多