GitHub Actions Runner Image Ubuntu 22.04 更新指南:5 处变化,让你的 CI/CD 环境跑得更快
【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-images
GitHub Actions runner images 仓库的 Ubuntu 22.04 镜像在 2025 年 4 月完成一轮 Runner 镜像更新:Node 升到 20.19.5、Docker 换到 28.0.4,浏览器与预缓存的 Docker 镜像同步跟进。这篇指南按“改了什么、对你的流水线意味着什么、该做什么”来讲,方便你决定要不要调整现有工作流。
核对运行时基线:Node、Python、Java 的默认值变了
这次更新后,系统内预装的 Node.js 是 20.19.5,Python 3.10.12,Ruby 3.0.2p107。对 CI/CD 环境的直接含义是:workflow 里直接调node、python拿到的默认版本不再是旧值,依赖默认运行时的步骤行为会随之改变。
👉 如果你的任务依赖某个特定小版本,不要用系统默认,改用下面的多版本缓存或 setup 类 action 显式声明。
Java 与 .NET 提供多版本运行时,这是本次更新覆盖最宽的部分:
| 运行时 | 可用版本 |
|---|---|
| Java | 8.0.472+8、11.0.29+7、17.0.17+10、21.0.9+10、25.0.1+8 |
| .NET Core SDK | 8.0.121 至 9.0.306 多个版本 |
多版本运行时意味着同一镜像能同时覆盖新旧服务:老服务留在 Java 8,新项目直接用 17/21。👉 按仓库实际需求锁定版本,别一律取“最新”。
命中 Docker 镜像缓存:容器化任务为什么不用自己拉镜像
Docker 组件整体换代:Docker CE 28.0.4、Compose v2 2.38.2、Buildx 0.29.1;Kubernetes 侧 kubectl 1.34.1、Helm 3.19.0、Kind 0.30.0。更关键的是镜像自带一批预缓存的 Docker 镜像缓存:Alpine 3.16–3.19、Debian 10 和 11、Node 18/20/22(含 Alpine 变体)、Ubuntu 20.04/22.04。
含义是:当docker build/docker pull命中这些基础镜像时,步骤直接走本地缓存,省掉拉取时间和外网依赖。👉 把基础镜像 tag 对齐到缓存清单内(例如FROM node:20保持在缓存覆盖的版本段),能命中缓存就别用自定义 tag。
浏览器 E2E 测试:如何对齐新的 Chrome、Edge 与 WebDriver
🌐 浏览器版本这次同步抬升,且 WebDriver 与浏览器保持对齐:
| 浏览器 | 版本 |
|---|---|
| Google Chrome | 142.0.7444.59 |
| Microsoft Edge | 142.0.3595.53 |
| Firefox | 144.0.2 |
隐性坑在于“浏览器 + driver”这对组合变了:如果你在 workflow 里钉死了旧 driver 版本,用例可能起不来。👉 用镜像内匹配的 driver 版本,或让 driver 随浏览器自动取值,减少版本漂移。
用 toolset 配置锁定多版本运行时:Python、Node、Go、Ruby
toolset-2204.json 定义了镜像预置的缓存版本范围,是你挑版本的“目录”:
| 语言 | 预缓存版本 |
|---|---|
| Python | 3.9 – 3.14 |
| Node.js | 20、22、24 |
| Go | 1.22 – 1.25 |
| Ruby | 3.2 – 3.4 |
含义:setup-* action 取这些版本时命中本地 toolcache,无需重新下载。👉 把 CI 需要的语言版本限制在这个范围内,超出范围会走网络安装、拖慢整个任务。
环境变量与后处理脚本:看不见但每次构建都生效的变化
底座保持 Ubuntu 22.04.5 LTS,内核 6.8.0-1041-azure,systemd 249.11-0ubuntu3.17。系统 apt 仓库预装 300+ 包(gcc/g++/make、git/svn/mercurial、curl/wget/ssh 等);Homebrew 4.6.19 已安装但不进 PATH,Miniconda 25.9.1 负责 Python 环境管理,Vcpkg 持续提供 C++ 库。
🛠️ 后处理脚本位于 assets/post-gen 目录,其中 environment-variables.sh 统一注入环境变量,另有 systemd-linger.sh 优化服务管理、cleanup-logs.sh 自动清理日志。
含义:ANDROID_HOME、JAVA_HOME 等变量已由镜像统一注入,你通常不必再手动 export;日志自动清理也减少了镜像占用。👉 需要自定义变量时,先确认是否已被这些脚本覆盖,避免重复设置产生冲突。
Ubuntu 22.04 这次 Runner 镜像更新,把语言运行时、容器工具链和浏览器都抬到了 2025 年 4 月的版本基线,并借 Docker 镜像缓存与 toolset 配置把“取版本”变成“命中缓存”。如果你的流水线默认值对齐了上面几张表,大部分任务无需改动;只在钉死旧版本的地方,按建议逐个对齐即可。
【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-images
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考