如何更改代理构建目录?

How to change the agent build directory?

我的 Azure DevOps 管道当前创建路径“C:\Agent-xyz_work\s...”以保存将在子项目构建中使用的构建输出。有没有办法将构建文件夹设置为“C:”或“C:\w”等?我需要这个,因为我的第三方 Wix 工具集有一个自定义构建操作,当它变得太长时会截断路径。为了保持简短,我希望路径尽可能短。

预定义变量中所述的代理安装目录是:

Agent.HomeDirectory: c:\agent

代理工作目录是

Agent.WorkFolder : c:\agent_work

在此文件夹(C:\agent\work\builID)中,您可以找到一些子文件夹:

  • a -> artifacts
  • b -> build directory
  • s -> source directory

您可以使用 powershell 脚本并在您想要的文件夹中复制任何工件或构建输出。

Powershell 示例:

$destinationFolder = "C:\myfolder"
$sourcesDirectory = "$(Build.ArtifactStagingDirectory)\result"
robocopy $sourcesDirectory $destinationFolder /im /e

https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml

您可以更改预定义变量的值。

对于经典发布管道:

变量:

任务:

日志:

可以找到预定义变量列表here

代理的工作目录是在安装代理时配置的,不能在运行时更改:

Agent setup
--work <workDirectory> - work directory where job data is stored. Defaults to _work under the root of the agent directory. The work directory is owned by a given agent and should not be shared between multiple agents.

我建议您暂停并 reconfigure your agent 使用您选择的工作目录。