TFS 2015,如何将 Agent.BuildDirectory 设置为仅使用 _work

TFS 2015, how to set Agent.BuildDirectory to use _work\1 only

我已经使用一些强大的 shell 脚本设置了 TFS 2015,以在构建期间更改构建定义上的 web.config。

我面临以下问题:

  1. 在 ps 脚本中硬编码使用 "E:\TfsBuildAgents\TfsbuildAgentName_work\s\Projects\ProjectName\ProjectName\web.config

我已将构建的需求设置为 Agent.Name = TfsbuildAgnetName(这很有效,因为我想使用一个代理名称来能够将构建排队,因为它们 运行 同时,但在队列中,一个定义使用 _work,第二个定义(等待另一个完成)使用 _work.

无论如何我可以在单独的构建定义上强制工作目录为 1 吗?

与 Agent.Name 一起,我尝试使用 Agent.BuildDirectory 并指定 _work 但构建中断如下:

在池 12 中找不到满足指定要求的代理: Agent.Name -等于 TfsbuildAgnetName Agent.BuildDirectory -等于 E:\TfsBuildAgents\TfsbuildAgnetName_work

为什么不让您的脚本更灵活并使用相对于脚本本身的路径来利用 $PSScriptRoot 变量?

或者更好地使用 $env:BUILD_SOURCESDIRECTORY 环境变量?