
测试后端云原生容器编排可观测性【免费下载链接】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 项目的版本发布流程中每一个浏览器版本都会通过tag_and_push_browser_images.sh脚本生成一套完整的多维度镜像标签。本文以存档于 CHANGELOG/archived/4.31.0/firefox_119.md 的发布记录为线索深入拆解 Selenium Grid 4.31.0 构建构建日期 20250414中 Firefox 119.0.1 与 GeckoDriver 0.36.0 的组合是如何被打包、打标签并推送的。读完本文你将掌握 docker-selenium 的镜像标签命名约定、发布脚本的完整参数体系与底层执行逻辑并能据此准确选择或复现任意浏览器版本的镜像标签。发布记录本身说了什么firefox_119.md本质上是一份脚本执行实录它记录了为 Firefox 119 系列镜像打标签的完整命令与输出核心信息如下发布版本Grid 版本 构建日期4.31.0-20250414Firefox 版本119.0.1短版本号119.0GeckoDriver 版本0.36.0短版本号0.36涉及镜像selenium/node-firefox与selenium/standalone-firefox推送开关false仅本地打标签不推送这些信息对应仓库中 tag_and_push_browser_images.sh 的 firefox 分支在 4.31.0 时代的执行结果是理解标签命名约定的最佳实战样本。脚本参数体系一行命令背后的七个入参发布记录第一行的调用方式是./tag_and_push_browser_images.sh 4.31.0 20250414 selenium false firefox true对照 tag_and_push_browser_images.sh 的头部定义这 7 个位置参数分别是位置参数本次取值含义1VERSION4.31.0Selenium Grid 版本2BUILD_DATE20250414构建日期YYYYMMDD3NAMESPACEselenium镜像命名空间默认值4PUSH_IMAGEfalse是否执行 docker push默认 false5BROWSERfirefox浏览器类型脚本按此进入对应分支6RELEASE_OLD_VERSIONtrue是否为旧版本补标签默认 false7PLATFORM省略默认linux/amd64目标平台其中TAG_VERSION${VERSION}-${BUILD_DATE}组成了后续所有标签中反复出现的grid-4.31.0-20250414后缀。版本信息是怎么探测出来的脚本并未硬编码 Firefox 与 GeckoDriver 的版本号而是通过直接运行已构建镜像内的二进制来探测tag_and_push_browser_images.shFIREFOX_VERSION$(docker run --rm ${NAMESPACE}/node-firefox:${TAG_VERSION} firefox --version | awk {print $3}) FIREFOX_SHORT_VERSION$(short_version ${FIREFOX_VERSION}) GECKODRIVER_VERSION$(docker run --rm ${NAMESPACE}/node-firefox:${TAG_VERSION} geckodriver --version | awk NR1{print $2}) GECKODRIVER_SHORT_VERSION$(short_version ${GECKODRIVER_VERSION})关键点探测路径是先构建、后打标要求selenium/node-firefox:4.31.0-20250414这个基础构建标签已经存在脚本在其中运行firefox --version和geckodriver --version用awk提取出版本号字段再据此生成衍生标签。短版本号由short_version()函数截取该函数把119.0.1按.分割后取前两段得到119.0tag_and_push_browser_images.sh所以发布记录中同时出现了119.0.1与119.0两套标签组。Firefox 版本探测使用$3字段与 generate_release_notes.sh 中生成发布说明的方式完全一致两处相互印证。标签组的构成同一镜像的十种拉取方式发布记录展示的标签可以归纳为两大组每组 5 个标签、node 与 standalone 各一套完整版本号组基于 119.0.1 / 0.36.0119.0.1-geckodriver-0.36.0-grid-4.31.0-20250414119.0.1-geckodriver-0.36.0-20250414119.0.1-20250414119.0.1-geckodriver-0.36.0由 RELEASE_OLD_VERSIONtrue 追加119.0.1由 RELEASE_OLD_VERSIONtrue 追加短版本号组基于 119.0 / 0.36119.0-geckodriver-0.36-grid-4.31.0-20250414119.0-geckodriver-0.36-20250414119.0-20250414119.0-geckodriver-0.36由 RELEASE_OLD_VERSIONtrue 追加119.0由 RELEASE_OLD_VERSIONtrue 追加从 tag_and_push_browser_images.sh 的数组定义看标签的构造遵循固定的三段式语义浏览器维度Firefox 版本号长/短驱动维度geckodriver-版本长/短可选组合Grid 维度grid-Grid版本-构建日期可选组合。RELEASE_OLD_VERSION参数决定是否追加去掉构建日期的纯版本标签。本次调用传入true因此119.0.1-geckodriver-0.36.0、119.0.1、119.0-geckodriver-0.36、119.0四个短链标签也被生成方便用户用最简标签拉取该构建。retag()函数负责实际的打标与推送逻辑tag_and_push_browser_images.sh在PUSH_IMAGEfalse时仅执行docker tag为镜像赋予别名而不复制数据当PUSH_IMAGEtrue时则逐标签执行docker push。标签约定的使用视角用户该如何选择结合 docs/docker-hub/node-firefox.md 对标签约定的说明本次发布记录实际呈现了官方推荐的完整标签层级。以 Firefox 119.0.1、GeckoDriver 0.36.0、Grid 4.31.0、构建日期 20250414 为例用户可按需选择只需固定浏览器大版本selenium/node-firefox:119.0需要精确到浏览器补丁版本selenium/node-firefox:119.0.1同时固定浏览器与驱动selenium/node-firefox:119.0.1-geckodriver-0.36.0全量锁定浏览器 驱动 Grid 构建日期selenium/node-firefox:119.0.1-geckodriver-0.36.0-grid-4.31.0-20250414selenium/standalone-firefox的标签集合同理。这样的设计让用户可以像使用版本矩阵一样精确锁定测试环境既可以在跨浏览器测试中快速切换到最新构建也可以在遇到特定浏览器版本兼容问题时精确回退。从发布记录反推构建端Firefox 119 在镜像内如何落地发布记录中的版本号并非随意组合其来源可以追溯到 NodeFirefox/Dockerfile 的构建逻辑Firefox 安装构建阶段通过FIREFOX_VERSION构建参数指定浏览器版本amd64 平台下直接解析 Mozilla 官方下载地址deb 或 tar.bz2由 install-firefox-package.sh 完成下载与安装安装完成后通过firefox --version | awk {print $3}把版本号写入/opt/selenium/browsers/firefox/version供 Grid 节点上报浏览器信息NodeFirefox/Dockerfile。GeckoDriver 安装GECKODRIVER_VERSION构建参数默认为latest此时会先解析 mozilla/geckodriver 仓库的最新 release 标签再按架构linux64 / linux-aarch64下载对应压缩包解压到/opt最终以符号链接形式暴露为/usr/bin/geckodriverNodeFirefox/Dockerfile。本次发布记录的0.36.0就是该解析流程在 4.31.0 构建时得到的实际版本。运行时观测用户拿到镜像后也可自行执行docker run --rm selenium/node-firefox:119.0.1-geckodriver-0.36.0-grid-4.31.0-20250414 geckodriver --version来复核镜像内的驱动版本这与发布脚本的探测手段完全一致。发布记录在仓库中的定位版本矩阵的一格firefox_119.md属于 CHANGELOG/archived/4.31.0 存档目录。按照 CHANGELOG/README.md 的说明CHANGELOG 维护着一张Selenium Grid 版本 × 浏览器版本的矩阵表每个 ✓ 都链接到对应 Grid 发布下某个具体浏览器版本的详细变更记录最新的 Grid 版本位于 CHANGELOG/4.48.0历史版本则归档到 archived 目录。对比同版本的其他浏览器记录如 CHANGELOG/archived/4.31.0/edge_119.md可以看出这套标签机制对所有浏览器chrome、chromium、edge、firefox、chrome-for-testing是统一的edge 记录中 Edge 119.0.2151.97 与 EdgeDriver 119.0.2151.97 遵循完全相同的浏览器-驱动-grid-日期四段式命名。而 Firefox 119 这条记录的特性在于驱动与浏览器版本号并不一致119.0.1 vs 0.36.0恰好说明了驱动版本独立解析、独立参与标签命名的设计。此外CHANGELOG/4.48.0/firefox_119.md 显示同样的 Firefox 119.0.1 在 4.48.0 构建中搭配的已是 GeckoDriver 0.37.1这印证了一个重要事实同一浏览器版本会随 Grid 发布迭代而更换驱动版本因此标签中的 geckodriver 字段对精确复现测试环境至关重要。如何在实际项目中使用这些标签在 compose 编排中使用固定标签例如 docker-compose-v3.yml 中节点镜像的写法只需将latest替换为发布记录中的全量标签即可services: firefox: image: selenium/node-firefox:119.0.1-geckodriver-0.36.0-grid-4.31.0-20250414 shm_size: 2gb depends_on: - selenium-hub environment: - SE_EVENT_BUS_HOSTselenium-hub - SE_EVENT_BUS_PUBLISH_PORT4442 - SE_EVENT_BUS_SUBSCRIBE_PORT4443若使用裸docker run启动 Node则对应 docs/docker-hub/node-firefox.md 的写法docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub \ --shm-size2g \ selenium/node-firefox:119.0.1-geckodriver-0.36.0-grid-4.31.0-20250414几点实践建议生产与回归环境优先使用全量标签含grid-与日期确保浏览器、驱动、Grid 与构建产物完全一致需要跟随浏览器小版本修复时可用短版本标签如119.0平衡稳定性与更新频率由于仓库明确说明并未对每个 Grid 与浏览器版本的组合做全量测试CHANGELOG/README.md切换到非默认组合前应结合自身测试需求评估。小结firefox_119.md表面上只是一段打标日志实则完整呈现了 docker-selenium 发布流水线的核心环节镜像先以4.31.0-20250414构建标签产出脚本再通过运行时探测 Firefox 119.0.1 与 GeckoDriver 0.36.0 的精确版本按浏览器版本 / 浏览器驱动版本 / 浏览器驱动Grid 版本 / 短版本号四个维度生成十种等价标签分别指向 node 与 standalone 两种镜像形态。理解这条标签生成链路后无论是挑选现成镜像还是自行维护浏览器版本组合都能快速定位到正确的镜像标签。赞分享测试后端云原生容器编排可观测性【免费下载链接】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 4.29.0 Firefox 125 版本发布全解析镜像标签生成机制与 GeckoDriver 版本对齐实战docker selenium 4.29.0 Firefox 125 版本发布全解析镜像标签生成机制与 GeckoDriver 版本对齐实战 导读 本文基于测试后端云原生容器编排可观测性Docker Selenium 4.31.0 的 Firefox 111.0.1 镜像标签发布机制详解tag_and_push_browser_images.sh 实战解读Docker Selenium 4.31.0 的 Firefox 111.0.1 镜像标签发布机制详解tag_and_push_browser_images.测试后端云原生容器编排可观测性docker-selenium 4.48.0 版本发布记录解读Firefox 127.0.2 GeckoDriver 0.37.1 镜像标签全解析docker selenium 4.48.0 版本发布记录解读Firefox 127.0.2 GeckoDriver 0.37.1 镜像标签全解析 导读测试后端云原生容器编排可观测性上一篇ESLint 文档站代码块正误标记::: correct / ::: incorrect 容器组件全解析下一篇Haystack InMemoryDocumentStore 完全指南从 BM25 与向量检索到元数据过滤与异步 API创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考