You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否更改Azure Pipelines自托管代理所使用的本地子文件夹?

Azure DevOps自托管代理不同分支配置独立工作目录方案

方案1:零YAML修改(推荐)

你不需要修改任何现有管道代码,直接在Azure DevOps项目中新建独立的构建管道即可:

  • 新建管道时选择同一份代码仓库,将管道默认分支设置为你新创建的永久发布分支
  • 保存后运行一次新管道,自托管代理会自动为新管道分配独立的工作目录(如原有管道对应c:\agent\work\24,新管道会自动分配c:\agent\work\25等未占用的编号)

该方案的底层逻辑是自托管代理的工作目录编号与管道ID一一绑定,不同管道天然使用独立目录,完全满足两个分支构建结果隔离的需求。

方案2:少量YAML修改(单管道场景)

如果你不想维护多套管道,仅需在原有YAML中新增不到10行分支判断配置即可实现目录隔离,原有构建步骤无需任何调整:

jobs:
- job: Build
  variables:
    # 替换为你实际的发布分支名
    ${{ if eq(variables['Build.SourceBranchName'], 'release-xxx') }}:
      Build.Repository.LocalPath: 'c:\agent\work\25\s'
      Build.ArtifactStagingDirectory: 'c:\agent\work\25\a'
      Build.BinariesDirectory: 'c:\agent\work\25\b'
    # 原有分支的默认目录配置
    ${{ else }}:
      Build.Repository.LocalPath: 'c:\agent\work\24\s'
      Build.ArtifactStagingDirectory: 'c:\agent\work\24\a'
      Build.BinariesDirectory: 'c:\agent\work\24\b'
  steps:
    # 此处保留你原来的所有构建步骤即可

注意:使用该方案时需确保代理运行账户对你指定的目录有读写权限,避免构建时报权限错误。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:15:03