在TFS 2015 Update 2中,我在一个池中配置了七个发布代理,使用功能分成一组逻辑环境。
我还有一个配置了三个环境的版本,用于使用与此池对应的队列,并指定要求过滤到每个环境的相应服务器(1-Test,2-QA,4-Prod)。
我的问题是TFS只发布到第一个满足需求的代理。如果我删除环境中的所有需求,我会认为它会释放到池中的每个代理,但TFS仍然只释放到池中的第一个代理。如果我禁用第一个代理,它将释放到下一个代理;但仍然只有一个代理人。
我错过了什么?
答案 0 :(得分:1)
我认为你误解了代理人的用途。代理仅用作部署活动的调用机制。每个环境或每个服务器不需要一个代理。
例如,如果您需要在计算机上运行PowerShell脚本,请使用目标计算机上的" PowerShell"部署活动。然后,代理将使用WinRM告诉目标计算机要运行哪些脚本。该代理可以针对任何计算机运行PowerShell脚本。
答案 1 :(得分:0)
为什么您希望发布或构建每次都选择不同的代理?我一直在TFS上看到,在代理上运行构建的概率非常高,这是特定构建定义的最后一次成功构建所运行的。
我认为构建/发布每次都应该在不同的代理上运行的唯一原因是,同时运行的构建需要相同功能的构建数量不止一个。
如果您想测试每个代理,请尝试一次禁用一个代理并运行构建/发布。