尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

这份 GitHub Actions Ubuntu 22.04 运行器镜像更新如何让 CI 更快

这份 GitHub Actions Ubuntu 22.04 运行器镜像更新如何让 CI 更快 这份 GitHub Actions Ubuntu 22.04 运行器镜像更新如何让 CI 更快【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-imagesrunner-images 是 GitHub 官方维护的 Actions 运行器镜像仓库为 CI/CD 提供标准化环境。本次 GitHub Actions Ubuntu 22.04 运行器镜像更新集中在三件事语言运行时与 Docker 工具链换血、浏览器套件同步升级、预缓存清单扩容。TL;DR版本快照一览组件更新后版本操作系统Ubuntu 22.04.5 LTS内核6.8.0-1041-azuresystemd249.11-0ubuntu3.17Node.js20.19.5Python3.10.12Ruby3.0.2p107Docker CE28.0.4Docker Compose v22.38.2Docker Buildx0.29.1Kubectl1.34.1Helm3.19.0Kind0.30.0Google Chrome142.0.7444.59Microsoft Edge142.0.3595.53Firefox144.0.2这次更新值得看先看痛点版本碎片化Java 直接给了 8 到 25 共五个版本老项目和新项目不用各自折腾安装脚本。首次拉取镜像耗时常用基础镜像已预缓存容器构建少等一轮网络拉取。CI 稳定性组件版本在镜像里固定构建结果不再受上游今天发了什么影响。构建速度编译器、包管理器、浏览器都在本地就绪省去安装步骤占用的时间片。三大技术栈版本对比Node、Java、Docker 与 K8s 工具链语言与运行时Node 与 Java 多版本一览组件版本说明Node.js20.19.5主力运行时Python3.10.12系统级版本Ruby3.0.2p107系统级版本Java8.0.4728、11.0.297、17.0.1710、21.0.910、25.0.185 个版本并行可用.NET Core SDK8.0.121 至 9.0.306 多个版本按需选用容器与云原生Docker 28 与 K8s 工具链对比组件版本一句话说明Docker CE28.0.4容器引擎本体Docker Compose v22.38.2多容器编排Docker Buildx0.29.1构建插件支持多架构等高级构建Kubectl1.34.1集群命令行入口Helm3.19.0Chart 包管理Kind0.30.0用 Docker 容器在本地拉起一个 K8s 集群浏览器与测试环境Chrome、Edge、Firefox 清单浏览器版本Google Chrome142.0.7444.59Microsoft Edge142.0.3595.53Firefox144.0.2对应的 WebDriver 版本随浏览器同步更新写端到端测试时不用手动对齐驱动版本号。开箱即用的弹药库toolset-2204 预置清单toolset-2204.json 配置 是这份镜像的点菜单它声明了要预装哪些工具、哪些版本。语言版本缓存即放进 toolcache 的备用版本工作流里直接切Python3.9 至 3.14Node.js20、22、24Go1.22 至 1.25Ruby3.2 至 3.4预缓存的 Docker 基础镜像Alpine 3.16 至 3.19、Debian 10 和 11、Node.js 18 / 20 / 22 及对应 Alpine 版本、Ubuntu 20.04 和 22.04。跑容器化构建时先从本地缓存命中省掉首次构建的拉取等待。系统包apt 仓库预装 300 多个软件包覆盖编译工具链gcc、g、make、版本控制git、svn、mercurial、网络工具curl、wget、ssh以及常用开发库和头文件。环境变量ANDROID_HOME、JAVA_HOME等已预配置脚本里可以直接引用。包管理器Homebrew 4.6.19 已预装但未加入 PATH需要时自己启用Miniconda 25.9.1 管 Python 环境Vcpkg 负责 C 库。幕后post-gen 三个脚本各解决什么问题镜像生成后的收尾工作集中在 post-gen 脚本目录systemd-linger.sh优化服务管理开启 linger 让用户级服务保持驻留而不是随登录会话消失。environment-variables.sh统一环境变量配置避免变量散落在各处难以排查。cleanup-logs.sh自动清理日志文件让交付的镜像更干净、体积更小。开发者行动清单按你的场景走如果你在跑前端构建Node.js 20、22、24 已在缓存中工作流里声明版本即可不用手动装多版本 Nodewebpack、TypeScript 这类常用全局包也是现成的。如果你在做容器化构建或 K8s 集成测试常用基础镜像优先命中本地缓存本地集群验证直接用 Kind 起不用额外装集群。如果你在维护多版本 Java 服务8、11、17、21、25 五个 JDK 已就位切换版本只是改环境变量的事。如果你在跑浏览器端到端测试Chrome、Edge、Firefox 与 WebDriver 版本已对齐Selenium 用例可直接开跑。如果你在做 Android 构建ANDROID_HOME已预置配合预装工具链可直接进入编译阶段。这类镜像适合哪些团队这份 Ubuntu 22.04 镜像的定位很明确一份覆盖前端、后端到移动端构建的通用 CI 环境。前端团队吃浏览器与 Node 缓存后端团队吃多版本 JDK 与 .NET SDK移动端团队吃 Android 预配置。组件版本固定、缓存开箱即用团队可以少写安装脚本把 CI 时间花在真正要构建的东西上。【免费下载链接】runner-imagesGitHub Actions runner images项目地址: https://gitcode.com/GitHub_Trending/ru/runner-images创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表