你是否曾在 GitHub Actions 工作流中写过 runs-on: ubuntu-latest 却从未想过——这个“latest”究竟从哪来?它里面到底预装了 Node.js 20 还是 22?Python 是系统自带还是手动安装?Xcode 版本能否精准锁定到 15.4?actions/runner-images 正是 GitHub 官方公开的「所有托管运行器(hosted runner)的制造工厂」:它不是某个工具,而是整个 GitHub Actions 和 Azure Pipelines 托管服务的底层镜像源码库。它让开发者第一次看清 CI/CD 流水线真正的“操作系统级底座”,并具备了可审计、可验证、甚至可复现的能力。
核心功能
- 透明化托管运行器构成:彻底打破黑盒——每个 Ubuntu/macOS/Windows 镜像的完整软件清单、版本号、安装路径、环境变量均在对应 README 中逐项公示(如 ubuntu-24.04 明确列出已预装 Docker 26.1、Java 21.0.3、.NET SDK 8.0.302 等 127 个组件),杜绝“为什么我的脚本在本地能跑线上报错”的玄学问题。
- 跨架构全栈支持:不仅覆盖主流 x64,更原生支持 arm64 全链路——从
ubuntu-24.04-arm到macos-26-arm64再到windows-11-arm,连 Windows 11 ARM64 + Visual Studio 2026 的组合都已上线,为 Apple Silicon Mac 开发者、Raspberry Pi 嵌入式 CI、ARM 云原生构建提供开箱即用的硬件级兼容性保障。 - 精准版本控制与迁移预警:通过清晰的标签体系(如
ubuntu-22.04、macos-15-xlarge)锁定特定 OS 版本,避免ubuntu-latest自动升级导致构建失败;更重要的是,GitHub 会在切换-latest标签前发布公告并预留充足缓冲期,让团队有节奏地完成工作流适配,告别“半夜因镜像更新导致发布中断”的惊魂时刻。 - 超大规格 macOS 运行器标准化:针对 iOS/macOS 应用构建的高内存、高 CPU 需求,首次将
-xlarge和-large规格(如macos-26-xlarge提供 16 vCPU / 64GB RAM)纳入官方镜像定义体系,并明确其仅限 GitHub Actions 使用——这意味着开发者无需自行维护高价 Mac Mini 集群,也能获得企业级构建资源。 - 轻量化选项降低冷启动延迟:专为快速任务设计的
ubuntu-slim镜像,剔除浏览器、GUI 工具等非必要组件,镜像体积减少约 40%,CI 任务平均启动时间缩短 3–5 秒,在高频 PR 检查场景下显著提升开发者反馈速度。 - 双平台统一底座能力:同一套构建逻辑同时支撑 GitHub Actions 和 Azure Pipelines 的 Microsoft-hosted agents,企业若同时使用两大平台,可基于此仓库实现构建环境策略对齐(例如强制要求所有项目使用 Python 3.11+、禁用已知漏洞的 OpenSSL 版本),大幅提升安全合规治理效率。
- 本地复现与离线验证支持:提供完整的 镜像构建指南,允许安全敏感团队在内网环境中拉取源码、审计脚本、重新生成符合内部标准的私有 runner 镜像,满足金融、政企对供应链安全的强审计要求。
技术亮点
- PowerShell 驱动的跨平台构建流水线:虽以 PowerShell 为主力语言(尤其 Windows 镜像配置),但通过模块化设计与 YAML 元数据解耦,实现了 Linux/macOS 镜像同样采用统一的声明式定义结构,避免多语言混杂带来的维护熵增。
- 分层镜像定义架构:所有镜像按 OS 大类(
/images/ubuntu/、/images/windows/、/images/macos/)组织,每个子目录包含installers/(软件安装脚本)、configuration/(环境变量与服务配置)、Readme.md(人工可读的软件清单)三部分,结构清晰、职责分明,新人可快速定位某款工具(如 Terraform)的安装逻辑。 - “Just-in-time” 软件管理哲学:不追求预装一切,而是基于真实用户行为数据(GitHub 内部统计的 Top 200 工具使用频次)动态调整镜像内容——例如在 Ubuntu 24.04 中新增预装
jq和yq,却移除了已过时的nodejs-legacy包,确保每 MB 都服务于实际需求。 - 与 GitHub Actions Runtime 深度协同:镜像内置的
actions-runner服务、日志收集器、作业隔离机制均与 GitHub 官方 runner 二进制严格对齐,保证容器内进程权限、网络策略、文件系统挂载方式与生产环境零差异,极大降低本地模拟调试成本。
适合哪些人用
本项目并非面向终端开发者的“开箱即用工具”,而是为以下角色提供关键基础设施洞察力:
- CI/CD 平台工程师:需统一管理企业级构建环境。例如某跨境电商公司,要求所有前端项目必须使用 Chrome 125+ 进行 E2E 测试,他们通过订阅
ubuntu-24.04的更新日志,提前一周获知 Chrome 将升级至 126,并同步更新内部文档与检查清单。 - 移动应用架构师:负责 iOS 构建稳定性。某音视频 App 团队发现
macos-14上 Xcode 15.2 编译 Swift 6 代码偶发崩溃,立即查阅 macOS-14-Readme 确认该镜像预装 Xcode 15.2.1(含热修复补丁),果断将工作流runs-on从macos-latest切换至macos-14,30 分钟内解决线上构建失败问题。
快速上手
普通用户无需构建镜像,只需在 GitHub Actions 工作流中正确引用标签即可:
jobs:
build:
runs-on: ubuntu-24.04 # 锁定具体版本,推荐生产环境使用
steps:
- uses: actions/checkout@v4
- run: python --version # 直接使用预装的 Python 3.12.3
如需查看某镜像详细软件列表,直接访问其 README 页面(如 Ubuntu 24.04 软件清单),Ctrl+F 搜索关键词(如 “rust”、“aws-cli”)即可确认是否预装及版本号。
同类对比 / 注意事项
- vs 自建 Docker 镜像:自建镜像需持续维护安全更新、依赖冲突、磁盘空间,而 runner-images 由 GitHub 团队每日扫描 CVE 并自动发布补丁镜像(如
ubuntu-24.04每周至少一次小版本更新),节省团队 10+ 小时/月运维成本。 - vs 第三方社区镜像(如 act-environments):社区镜像往往滞后官方 1–3 个月,且缺乏 macOS/Windows 支持;runner-images 是唯一覆盖全平台、与 GitHub 生产环境完全一致的权威源。
- 重要注意事项:Ubuntu Slim 镜像不包含
sudo命令和apt包管理器,不可执行apt install;Windows 镜像中的 Visual Studio 实例默认为“Build Tools”精简版,如需完整 IDE 功能(如调试器),须显式选择windows-2022或windows-2025-vs2026标签。
项目信息
actions/runner-images
GitHub
GitHub Actions runner images
13.3k
今日 +19 stars today
Stars
3.9k
Forks
PowerShell
MIT
编程语言:PowerShell|Star 数:13315|开源协议:MIT|GitHub 项目地址
这是你每天都在用、却从未真正“看见”的 GitHub Actions 基石——不写一行业务代码,也能靠它把 CI/CD 的稳定性和可控性提升一个量级。


