资讯动态

docker-selenium 4.32.0 的 Edge 116 镜像发布全解:从版本探测到 20 个镜像标签的完整链路

发布时间:2026/10/8 19:29:23 来源:尧图企业网站定制
测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载导读本文以 docker-selenium 仓库中 Edge 116 的发布记录CHANGELOG/archived/4.32.0/edge_116.md为核心逐层拆解浏览器镜像从版本探测、标签生成到推送的完整发布流程。读完你将掌握tag_and_push_browser_images.sh的全部参数语义、6 大标签类别的命名规则、node-edge与standalone-edge镜像的构建链路以及如何根据测试需求精确挑选镜像标签。一、发布记录原文Edge 116 的一次标准发布4.32.0 版本中Edge 116 镜像的发布过程记录如下原文完整保留./tag_and_push_browser_images.sh 4.32.0 20250515 selenium false edge true Tagging images for browser edge, version 4.32.0, build date 20250515, namespace selenium Selenium Grid version - 4.32.0-20250515 Edge version - 116.0.1938.81 Short Edge version - 116.0 EdgeDriver version - 116.0.1938.81 Short EdgeDriver version - 116.0 Tagged selenium/node-edge:116.0.1938.81-edgedriver-116.0.1938.81-grid-4.32.0-20250515 Tagged selenium/standalone-edge:116.0.1938.81-edgedriver-116.0.1938.81-grid-4.32.0-20250515 Tagged selenium/node-edge:116.0.1938.81-edgedriver-116.0.1938.81-20250515 Tagged selenium/standalone-edge:116.0.1938.81-edgedriver-116.0.1938.81-20250515 Tagged selenium/node-edge:116.0.1938.81-20250515 Tagged selenium/standalone-edge:116.0.1938.81-20250515 Tagged selenium/node-edge:116.0-edgedriver-116.0-grid-4.32.0-20250515 Tagged selenium/standalone-edge:116.0-edgedriver-116.0-grid-4.32.0-20250515 Tagged selenium/node-edge:116.0-edgedriver-116.0-20250515 Tagged selenium/standalone-edge:116.0-edgedriver-116.0-20250515 Tagged selenium/node-edge:116.0-20250515 Tagged selenium/standalone-edge:116.0-20250515这份记录看似只是一段终端输出实际浓缩了 docker-selenium 浏览器镜像发布的完整自动化流程。其执行入口是仓库根目录下的 tag_and_push_browser_images.sh而每次发布生成的 changelog 文件形如edge_116.md会通过 CHANGELOG/generate-matrix-readme.py 被汇总进 CHANGELOG/README.md 的浏览器版本矩阵作为用户挑选镜像标签的依据。二、命令逐参数解析7 个位置参数的含义脚本的调用签名为见 tag_and_push_browser_images.sh./tag_and_push_browser_images.sh VERSION BUILD_DATE NAMESPACE PUSH_IMAGE BROWSER RELEASE_OLD_VERSION PLATFORM位置参数本次调用值作用$1 VERSION4.32.0Selenium Grid 版本号与BUILD_DATE拼成完整镜像版本4.32.0-20250515$2 BUILD_DATE20250515构建日期YYYYMMDD是镜像标签中日期戳的来源$3 NAMESPACEselenium镜像命名空间决定最终 tag 前缀如selenium/node-edge$4 PUSH_IMAGEfalse是否在打标签后执行docker pushfalse表示本次仅打标签$5 BROWSERedge目标浏览器支持chrome、chromium、edge、firefox、chrome-for-testing$6 RELEASE_OLD_VERSIONtrue是否为旧版本补打精简标签决定是否追加短标签组详见第四节$7 PLATFORM默认目标平台默认linux/amd64仅 chrome 分支使用脚本内部还会读取两个环境变量PROMOTE_TAGS默认false与PROMOTE_GHCR_NAMESPACE默认空用于发布时推广已测试镜像的场景详见第五节。三、Edge 与 EdgeDriver 版本探测从容器内问出来的版本号脚本并不假设镜像内的版本而是直接运行已构建好的node-edge:4.32.0-20250515镜像来探测真实版本tag_and_push_browser_images.shEDGE_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} microsoft-edge --version | awk {print $3}) EDGE_SHORT_VERSION$(short_version ${EDGE_VERSION}) EDGEDRIVER_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} msedgedriver --version | awk {print $4}) EDGEDRIVER_SHORT_VERSION$(short_version ${EDGEDRIVER_VERSION})microsoft-edge --version输出的形如Microsoft Edge 116.0.1938.81awk {print $3}取出第 3 列即116.0.1938.81msedgedriver --version输出格式不同版本号位于第 4 列因此用awk {print $4}short_version()函数tag_and_push_browser_images.sh按.分割版本号并只保留前两段得到116.0作为短版本标签的来源。本次记录中 Edge 与 EdgeDriver 版本完全一致均为116.0.1938.81这是因为 Edge 116 的 msedgedriver 与浏览器保持同步发布。探测结果会以Selenium Grid version -、Edge version -、Short Edge version -等行打印出来构成 changelog 记录的上半部分。四、标签生成规则6 4 组标签、node 与 standalone 双镜像4.1 六组基础标签始终生成脚本在 tag_and_push_browser_images.sh 中先构造 6 组标签覆盖完整版本 短版本 × 三种命名维度的组合维度完整版本如116.0.1938.81短版本如116.0浏览器 驱动 Grid 完整标签{edge}-edgedriver-{driver}-grid-{gridVersion}-{buildDate}{edgeShort}-edgedriver-{driverShort}-grid-{gridVersion}-{buildDate}浏览器 驱动 构建日期{edge}-edgedriver-{driver}-{buildDate}{edgeShort}-edgedriver-{driverShort}-{buildDate}浏览器 构建日期{edge}-{buildDate}{edgeShort}-{buildDate}4.2 四组精简标签旧版本补发时追加当RELEASE_OLD_VERSIONfalse时即发布当前版本本次记录中第 6 个参数为true表示 Edge 116 属于旧版本补发脚本会追加 4 组不带日期、更易记忆的标签tag_and_push_browser_images.sh标签示例浏览器完整版 驱动完整版116.0.1938.81-edgedriver-116.0.1938.81浏览器完整版116.0.1938.81浏览器短版 驱动短版116.0-edgedriver-116.0浏览器短版116.0由于本次是旧版本RELEASE_OLD_VERSIONtrue故 changelog 中只出现 6 组标签对比 CHANGELOG/archived/4.32.0/chrome_134.md参数为chrome ... false可以看到完整 10 组标签的输出形态。4.3 双镜像打标签每组标签都会同时打在node-edge与standalone-edge两个镜像上tag_and_push_browser_images.shfor edge_tag in ${EDGE_TAGS[]}; do retag node-edge ${edge_tag} retag standalone-edge ${edge_tag} done这正是 changelog 中Tagged行成对出现node-edge与standalone-edge各 10 行、共 20 行的原因。五、retag 底层实现docker tag 与 buildx imagetools 双路径retag()函数tag_and_push_browser_images.sh负责把带完整版本号的基础标签复制为各精简标签默认路径PROMOTE_TAGSfalse执行docker tag ${NAMESPACE}/${__image}:${TAG_VERSION} ${NAMESPACE}/${__image}:${__tag}本地镜像仓库内新增一个标签别名若PUSH_IMAGEtrue则随后执行docker push。推广路径PROMOTE_TAGStrue不依赖本地镜像改用docker buildx imagetools create --tag ...在 registry 之间直接操作 manifest index。脚本注释明确解释了原因发布时推广的是已经过测试的 manifest本地docker pull只能取回当前 runner 架构的单架构镜像若用docker tag会导致浏览器标签变成单架构而imagetools作用于 index 层面、registry 到 registry 复制可保住多架构属性同时PROMOTE_GHCR_NAMESPACE允许在同一次调用中镜像到 GHCR。六、镜像构建链路Edge 116 从何而来打标签之前镜像本身由 Makefile 的edge目标构建其依赖链为node_base - video - base最终在 NodeEdge/Dockerfile 中完成 Edge 的装配edge: node_base edge_only edge_only: cd ./NodeEdge docker buildx build --platform linux/amd64 ... -t $(NAME)/node-edge:$(TAG_VERSION) .注意edge_only目标对平台有硬性限制Microsoft Edge 仅支持 linux/amd64Makefile这与 Chrome for Testing 相同因此在 arm64 runner 上会跳过 Edge 构建。NodeEdge/Dockerfile 的关键步骤Edge 浏览器安装默认EDGE_VERSIONmicrosoft-edge-stable从 Microsoft 官方源安装由于 Microsoft 会清理旧版本包脚本支持通过EDGE_ARCHIVE_SITENDViet/microsoft-edge-stable 归档仓库下载指定版本的.deb并--allow-downgrades安装Dockerfile 第 17-34 行这是锁定 116 这种旧版本能够成立的前提。EdgeDriver 安装优先通过https://msedgedriver.microsoft.com/LATEST_RELEASE_${EDGE_MAJOR}_LINUX探测驱动版本若该指针已被清理则回退到浏览器自身版本号并从归档站点下载edgedriver_linux64.zip解压后以msedgedriver-${VERSION}命名并软链到/usr/bin/msedgedriverDockerfile 第 52-68 行。浏览器元信息落盘将MicrosoftEdge、版本号与ms:edgeOptions.binary写入/opt/selenium/browsers/edge/供 Grid 自动发现与启动浏览器Dockerfile 第 82-85 行。清理守护进程NodeEdge/edge-cleanup.sh 由 supervisord 托管按SE_BROWSER_LEFTOVERS_PROCESSES_SECS、SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS、SE_BROWSER_LEFTOVERS_INTERVAL_SECS三个环境变量周期清理残留的 msedge 进程与/tmp/.com.microsoft.Edge.*临时目录。standalone-edge则基于node-edge构建Makefile 的standalone_edge_only--build-arg BASEnode-edge把 Node 与 Grid Server 打包进同一个容器免去单独部署 Hub 的环节。七、发布记录的价值如何用这些标签这份 changelog 与 docs/docker-hub/node-edge.md 共同构成用户的选型依据。node-edge 的标准运行方式需与 Hub 同处一个 Docker 网络docker network create grid docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub --shm-size2g selenium/node-edge:latest官方文档建议对浏览器镜像使用--shm-size2g以共享主机内存。选标签时遵循 docs/docker-hub/node-edge.md 归纳的结构selenium/node-edge-Major.Minor.Patch-YYYYMMDD selenium/node-edge-browserVersion-browserDriver-browserDriverVersion-Major.Minor.Patch-YYYYMMDD推荐实践需要同时锁定 Grid 与浏览器版本时使用全量标签如selenium/node-edge:116.0.1938.81-edgedriver-116.0.1938.81-grid-4.32.0-20250515只关注浏览器版本时使用selenium/node-edge:116.0只想固定在某次构建产物时使用带日期的selenium/node-edge:116.0.1938.81-20250515。八、一致性验证Edge 116 在不同 Grid 版本中的发布形态Edge 116 同时也存在于 4.31.0 版本中CHANGELOG/archived/4.31.0/edge_116.md其浏览器与驱动版本同为116.0.1938.81仅 Grid 版本与构建日期不同。这说明同一浏览器版本可以在多个 Grid 版本中重复发布而镜像标签通过-grid-{版本}-{日期}段区分彼此——这正是 CHANGELOG/generate-matrix-readme.py 所描述的矩阵设计动机让用户用最新的 Selenium Grid 核心版本同时仍能锁定某个浏览器版本。矩阵 README 以✓链接指向各edge_116.md这类 changelog 明细帮助用户快速定位特定 Grid 版本所支持的 Edge 版本组合。提示仓库不保证所有 Grid × 浏览器组合都经过完整测试见矩阵 README 的免责声明具体选型应由用户结合自身测试需求评估。赞分享测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载相关推荐docker-selenium Edge 116 镜像标签解析从 tag_and_push_browser_images.sh 到 node-edge 容器的发布链路docker selenium Edge 116 镜像标签解析从 tag_and_push_browser_images.sh 到 node edge 容器的测试后端云原生容器编排可观测性docker-selenium Firefox 116 镜像标签全解析从 tag_and_push_browser_images.sh 看 Node/Standalone 镜像版本化发布机制docker selenium Firefox 116 镜像标签全解析从 tag_and_push_browser_images.sh 看 Node/Stan测试后端云原生容器编排可观测性docker-selenium 发布 Edge 124 镜像标签全解析从 tag_and_push_browser_images.sh 到 Node/Standalone 镜像docker selenium 发布 Edge 124 镜像标签全解析从 tag_and_push_browser_images.sh 到 Node/Stan测试后端云原生容器编排可观测性上一篇agentmemory 基准测试报告编写指南基于 TEMPLATE.md 与 coding-agent-life-v1 实战解读下一篇Label Studio 安装与环境要求完全指南系统需求、pip/Docker/源码部署与升级路径创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑