Azure DevOps Server 2020 FilePath制品未从文件共享自动删除问题咨询
ADS 2020.0.1 制品自动清理失败问题解决
清理任务日志查看位置
- ADS服务端本地日志:进入ADS的安装根目录,找到
\_diag文件夹,筛选文件名带RetentionJob或BuildCleanup的日志文件,这里会完整记录所有保留策略执行、制品删除任务的全量日志,包含你在前端页面看不到的底层报错堆栈和异常原因。 - 作业历史完整日志:你看到的带红色叉号的清理作业条目,右键选择「查看全部日志」,如果页面没有加载全内容,点击日志页的「下载所有日志」按钮,解压压缩包后查找命名带
Cleanup的日志文件,即可看到具体报错信息。
你当前场景优先排查项
根据你给出的路径长度信息old build path: 116 chars - new build path: 142 chars,最大概率触发问题的原因是路径长度超过Windows默认限制:
- Windows默认最大路径长度为260字符,新路径本身已有142字符,加上drop制品下的子目录、具体文件名后很容易触达阈值,ADS 2020版本的清理任务默认未适配长路径,就会出现文件访问失败、无法删除的报错。
- 你已经确认服务账户权限正常,且可以手动删除文件,说明手动操作时的路径拼接规则和系统自动清理的规则不同,不会触达长度限制。
修复方案
- 在新文件服务器、所有ADS构建代理节点、ADS服务端节点上启用长路径支持:打开组策略编辑器,定位到
计算机配置 > 管理模板 > 系统 > 文件系统 > 启用 Win32 长路径,设置为「已启用」,所有节点重启后生效。 - 若部分节点无法修改组策略,也可以修改对应节点的注册表:定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将LongPathsEnabled的值设置为1,重启节点后生效。
内容的提问来源于stack exchange,提问作者Nico
相关产品推荐
相关产品推荐

