Azure DevOps发布流水线下载构件报错:Dedup大小不匹配求助
Azure DevOps构件下载错误的原因及解决方法
一、"Dedup size does not match the downloaded size" 错误
原因
- 构件传输过程中丢包、损坏,导致分块校验不通过
- 本地Azure DevOps代理的去重(dedup)缓存已损坏,无法匹配构件分块
- 网络代理或防火墙干扰了构件分块的完整性校验
- Angular打包过程异常,生成的构件本身存在文件大小问题
解决方法
- 清理代理缓存:找到本地服务器Azure DevOps代理的安装目录,进入
_cache文件夹删除所有dedup相关缓存文件,重启代理服务。 - 禁用构件去重:在Publish Pipeline Artifact任务中添加参数
--disable-deduplication,跳过分块校验,直接完整传输构件。 - 排查网络问题:临时关闭本地服务器防火墙/代理,或切换稳定网络后重新运行发布流水线测试。
- 重新生成构件:删除旧构建记录,重新运行构建流水线,确保Angular打包无报错、构件生成完整。
二、"Error: unable to verify the first certificate" 错误
原因
- 本地服务器受信任根证书库未包含Azure DevOps的SSL根证书,证书链验证失败
- 网络代理拦截SSL请求并替换证书,而代理证书未被本地信任
- 本地服务器根证书库过期,缺少最新CA证书
解决方法
- 导入Azure DevOps根证书:打开Azure DevOps网页,通过浏览器导出网站根证书,在本地服务器证书管理器中将其导入「受信任的根证书颁发机构」存储。
- 配置代理信任:若使用代理,将代理CA证书导入本地信任存储,或在代理规则中添加Azure DevOps域名的SSL例外。
- 临时跳过证书验证(仅测试用):在Download Pipeline Artifact任务的额外参数中添加
--ignore-ssl-errors true,或设置环境变量NODE_TLS_REJECT_UNAUTHORIZED=0(生产环境不建议,存在安全风险)。 - 更新根证书库:Windows服务器通过Windows Update更新根证书;Linux服务器执行
apt-get update && apt-get install --reinstall ca-certificates(Debian/Ubuntu)或yum update ca-certificates(RHEL/CentOS)。
内容的提问来源于stack exchange,提问作者Rizwan
相关产品推荐
相关产品推荐

