GitHub Actions Ubuntu 22.04 运行器镜像 2026.9 更新解读:5 处变化直接影响你的流水线
2026/9/22 13:02:37 网站建设 项目流程

GitHub Actions Ubuntu 22.04 运行器镜像 2026.9 更新解读:5 处变化直接影响你的流水线

【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-images

本文解读 GitHub Actions Ubuntu 22.04 运行器镜像最新版(镜像版本 20260831.284.1)的更新内容,涵盖语言运行时、容器与 K8s 工具、浏览器驱动及系统底座的变化,帮你判断流水线需要做什么适配,以及如何验证新版本已生效。

本次更新一览

维度变更内容对谁重要 / 为什么
语言运行时Node.js 默认 22.23.2,缓存新增 24.20.0;.NET SDK 新增 10.0 系列;Go 缓存续到 1.26语言开发者:新大版本开箱即用,无需在工作流里现装
容器与 K8sDocker 28.0.4 + Compose 2.38.2 + Buildx 0.36.1;Kubectl 1.37.0、Helm 3.21.4容器工程师:本地构建与集群操作链路整体升级
浏览器与驱动Chrome 152、Edge 152、Firefox 154,驱动版本与浏览器严格对齐E2E 团队:驱动不匹配是会话启动失败的常见原因
系统底座内核 6.8.0-1064-azure,Systemd 249.11-0ubuntu3.22环境维护者:底座安全补丁与稳定性随内核更新
工具锁定CMake 固定在 3.31.6,避免 CMake 4.0 的兼容性问题原生构建:避免升级后编译脚本报错
风险提示官方公告:22.04 系镜像将进入弃用流程,4 月 17 日后不再支持所有人:需要排期迁移到更新的基座镜像

运行时与语言版本:哪些大版本能直接用

这次运行时更新的主线是"缓存里多了新大版本"。Node.js 系统默认仍是 22.23.2,但工具缓存(toolcache,镜像里预置的多版本工具目录)里已经放进了 24.20.0——用actions/setup-node声明 Node 24 时直接从本地取,不用联网下载。Python 缓存覆盖 3.10.21 到 3.14.7,另有 PyPy 3.7–3.11 共 5 个版本可用。Go 缓存为 1.24.13、1.25.14、1.26.7,toolset 配置文件里把 1.24 设为默认。Ruby 缓存新增了 4.0.6,意味着你可以在 CI 里直接跑 Ruby 4 的新特性,而系统自带的 3.0.2 继续兜底。

Java 与 .NET 走"多版本共存"策略:JDK 8/11/17/21/25 五个版本并存,11 为默认,用JAVA_HOME_17_X64这类环境变量切换;.NET SDK 同时提供 8.0、9.0、10.0 三条线的补丁版本,10.0 是本次新增的大版本,适合开始试用 .NET 10 的项目直接开测。

容器与 K8s:工具链整体向前兼容

容器这一块按"引擎 + 集群操作"两条线看。引擎侧,Docker 客户端与服务器统一到 28.0.4,Compose 固定在 2.38.2,Buildx 0.36.1(Buildx 是 Docker 的多架构构建插件,跨平台镜像靠它)。集群操作侧,Kubectl 1.37.0 与 Helm 3.21.4 可覆盖近期集群 API 版本;Kind 0.33.0 和 Minikube 1.38.1 用于在 runner 上起本地集群,做集成测试时注意它们与部署清单(manifest,K8s 资源定义文件)的 API 版本要对应。另外 CMake 在 toolset 中被明确锁定在 3.31.6,原因是绕开 CMake 4.0 的兼容性问题——如果你维护 C++ 或原生组件的 CI,这次"锁版本"反而能省掉一次排查。

前端与 E2E 测试:浏览器与驱动对齐情况

E2E 测试最关心"浏览器版本和驱动版本是否严格对齐",这一版保持了一比一匹配:Chrome 152.0.7977.64 配 ChromeDriver 152.0.7977.64,Edge 152.0.4191.53 配同版本 WebDriver,Firefox 154.0.1 配 Geckodriver 0.37.1,Selenium Server 4.48.0。驱动路径已通过CHROMEWEBDRIVEREDGEWEBDRIVERGECKOWEBDRIVER等环境变量预置,测试脚本不用自己拼路径。需要留意的是,浏览器每两个月一个大版本,如果你的 E2E 用例依赖特定渲染行为,升级后建议先跑一遍全量回归。

面向维护运行环境的人:系统底座与缓存配置

底座层面,本镜像版本为 20260831.284.1,内核升到 6.8.0-1064-azure,Systemd 为 249.11-0ubuntu3.22。内核号持续更新意味着 Azure 虚拟机的安全补丁和驱动随镜像滚动下发,你无需在 runner 里手动打补丁。Homebrew 6.0.20 预装在/home/linuxbrew但未加入 PATH,使用前执行一次eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"即可;Miniconda 26.7.1 提供 Python 环境管理。生成后阶段(post-gen)脚本里,systemd-linger.sh 通过loginctl enable-linger让构建用户会话开机常驻而非等登录,保证 runner 服务及时拉起;同目录的cleanup-logs.sh负责清日志控制镜像体积。所有语言版本清单以 toolset-2204.json 为唯一事实来源,调整版本先看它。

实用建议

  • 语言版本优先用缓存内已有值:setup-*类 action 命中 toolcache 时跳过下载,能明显缩短 job 时长。
  • 多版本 Java 用JAVA_HOME_17_X64等预置环境变量切换,不要在脚本里写死 JDK 路径。
  • PostgreSQL 14.24 与 MySQL 8.0.46 默认不启动,job 里按需执行sudo systemctl start postgresql.service再连库。
  • 22.04 系镜像已进入弃用公告(9 月 17 日开始弃用,4 月 17 日后完全不支持),有维护预算的仓库应排期迁移到 24.04 或 26.04 基座。
  • Homebrew 不在 PATH 里属于设计如此,别把它当作环境问题排查。

如何验证新版本已生效

在一个 job 里跑两条命令即可确认底座与运行时版本:

uname -r # 期望输出 6.8.0-1064-azure node -v # 期望输出 v22.23.2

如果输出与预期不一致,说明 runner 尚未滚动到新镜像,检查所用 runner 的镜像版本标签即可。

更新落地后,你的工作流可以不用改动直接享受新运行时:Node 24、.NET 10 SDK、对齐的浏览器驱动都已就位,接下来只需留意 22.04 的弃用时间表,把迁移到新一代基座镜像排进迭代。

【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-images

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询