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

Azure Pipelines中Azurite运行单元测试遇连接拒绝问题求助

解决Azure Pipelines中Azurite连接被拒绝的问题

针对Windows-2022镜像上Azurite启动后单元测试连接失败的问题,可从以下方向排查解决:

1. 确保Azurite完全就绪后再执行测试

管道中Azurite启动后可能未完全初始化就触发测试,导致连接失败。可在启动命令后添加延迟:

start /B azurite --silent --location C:\azurite
timeout /t 15 /nobreak > nul

start /B 确保Azurite在后台运行,timeout 给服务预留足够启动时间。

2. 修正测试连接字符串

避免使用localhost(部分管道环境下解析异常),改用127.0.0.1,并确保连接字符串指向Azurite:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

检查测试代码是否硬编码了旧的Azure Storage Emulator地址。

3. 排查端口占用问题

Windows-2022镜像可能有其他进程占用Azurite默认端口(10000/10001/10002),可指定自定义端口启动:

start /B azurite --silent --location C:\azurite --blobPort 10003 --queuePort 10004 --tablePort 10005

同步修改测试连接字符串中的端口值。

4. 验证Azurite运行状态

在测试步骤前添加命令,确认服务是否正常启动:

tasklist /fi "imagename eq node.exe"
curl http://127.0.0.1:10000/devstoreaccount1?restype=container

若curl返回403(属于正常签名校验失败),说明服务已启动;若连接失败,需检查Azurite启动日志。

5. 优化Azurite安装与启动方式

直接用npm全局安装(Windows-2022镜像预装Node.js),避免手动下载:

npm install -g azurite

启动时指定日志目录,方便排查启动失败原因:

start /B azurite --silent --location C:\azurite --debug C:\azurite\azurite.log

测试失败后可添加步骤将日志文件上传至管道 artifacts,分析具体错误。

内容的提问来源于stack exchange,提问作者João Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:52:46