Azure DevOps自托管代理工作区ID递增是否需要手动清理冗余文件
Azure DevOps自托管代理工作区编号逻辑及清理说明
工作区编号分配规则
你观察到的编号递增/复用逻辑是自托管代理的默认设计,核心规则如下:
- 工作区的数字ID和流水线定义+对应代码仓库+目标分支的唯一组合绑定,映射关系存储在同目录下的
SourceRootMapping文件夹中 - 当运行的任务属于已经在该代理上触发过的组合时,代理会直接复用之前分配的旧ID,不会生成新的工作区
- 只有触发从未运行过的新组合(比如新建流水线、接入新代码仓库、运行新分支)时,代理才会分配当前最大ID+1的新编号,生成新的工作区目录,因此工作区数量不会无限增长,上限等于你在该代理上运行过的不同组合的总数
工作区清理建议
- 若当前磁盘空间充足,无需主动清理这些工作区:复用旧工作区可以减少完整拉取代码的时间,提升流水线运行效率
- 若确实需要释放冗余空间,可参考以下规则操作:
- 非数字命名的文件夹不要随意删除:
_temp是临时文件目录可以定期清空;_tasks存储下载的流水线任务脚本,_tool是代理缓存的构建依赖工具(如.NET SDK、Node.js版本等),删除后下次运行会重新下载,会拖慢流水线速度,非必要不建议删除 - 删除数字编号的工作区前,先确认对应绑定的流水线/仓库/分支已经不再使用,避免删除正在使用的工作区导致流水线运行异常
- 更稳妥的清理方式是在流水线中添加「清理工作目录」的预置步骤,每次运行流水线时自动清理当前工作区的冗余文件,无需手动操作
- 非数字命名的文件夹不要随意删除:
内容的提问来源于stack exchange,提问作者Ray Depew
相关产品推荐
相关产品推荐

