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

Azure Pipeline添加VS Test步骤后Docker构建失败、站点无法运行求助

问题根因

1. vs2017-win2016代理Docker构建失败的原因

你用到的mcr.microsoft.com/dotnet/aspnet:3.1镜像已不再提供Windows Server 2016(系统版本号10.0.14393)对应的适配版本,拉取镜像时找不到对应系统架构的manifest文件,所以直接报错退出。

2. windows-2019代理构建后站点无法访问的原因

Windows系统的Docker默认拉取、构建Windows容器镜像,而你的站点部署环境是Linux容器运行时,Windows容器镜像无法在Linux环境下正常启动,所以站点无法访问。你之前用Ubuntu代理构建的是Linux容器镜像,和部署环境兼容,因此切换回Ubuntu后站点恢复正常。

解决方案

推荐两种可落地的方案,你可以根据自身需求选择:

方案一:拆分流水线阶段,使用双代理执行

将流水线拆分为两个独立阶段,分别用不同的代理运行:

  • 第一阶段使用windows-2019代理,仅执行Selenium测试步骤,测试通过后才触发下一阶段
  • 第二阶段使用Ubuntu-20.04代理,执行Docker镜像构建、推送步骤,构建出来的镜像为适配部署环境的Linux容器镜像,不会出现兼容性问题

方案二:直接在Ubuntu代理上运行Selenium测试

你当前使用的Selenium 4版本完全支持Linux环境运行,Azure官方的Ubuntu-20.04代理默认已预装Chrome浏览器和对应版本的ChromeDriver,不需要更换Windows代理就能直接跑Selenium UI测试,全程用同一个Ubuntu代理执行测试、构建、推送步骤,既没有兼容性问题,也不用调整流水线的阶段拆分。

小提示:如果你的Selenium测试代码中写死了Windows系统下的浏览器路径、文件路径等配置,只需要改成适配Linux的写法,或者通过环境变量动态适配不同系统即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:24:05