Runner 镜像与预装工具
本文档是 AtomGit Action Runner 标签体系、资源规格和预装工具清单的完整参考,同时包含自托管 Runner 的配置说明。
6.1 Runner 标签体系
AtomGit Action Runner 使用三段式标签格式:{os-version},{arch},{flavor}
| 标签段 | 说明 | 取值示例 |
|---|---|---|
| os-version | 操作系统与版本 | ubuntu-24, windows-2022 |
| arch | CPU 架构 | x64, arm64 |
| flavor | 资源规格 | slim, small, medium, large, xlarge, 2xlarge |
常用标签示例:
| 标签 | 说明 |
|---|---|
{ubuntu-24,x64,small} | Ubuntu 24.04 / x64 / 2核8G50G |
{ubuntu-24,x64,medium} | Ubuntu 24.04 / x64 / 4核16G100G |
{ubuntu-24,x64,large} | Ubuntu 24.04 / x64 / 8核32G200G |
{ubuntu-24,arm64,medium} | Ubuntu 24.04 / ARM64 / 4核16G100G |
6.2 资源规格表
| 规格 | CPU | 内存 | 系统盘 | 适用场景 |
|---|---|---|---|---|
slim | 1核 | 4GB | 20GB | 轻量检查、lint、小型脚本 |
small | 2核 | 8GB | 50GB | 常规 CI 构建、单元测试 |
medium | 4核 | 16GB | 100GB | 中型项目构建、集成测试 |
large | 8核 | 32GB | 200GB | 大型项目构建、性能测试 |
xlarge | 16核 | 64GB | 500GB | 大规模并行构建、重型计算 |
2xlarge | 32核 | 128GB | 1TB | 极重型计算、大数据处理 |
规格选择建议: 默认推荐
small规格(2核8G50G),可满足大多数 CI/CD 场景。仅在有明确性能需求时选择更高规格。
6.3 Ubuntu 24.04 预装工具
| 类别 | 工具 | 版本/说明 |
|---|---|---|
| 语言与运行时 | Python | 3.10, 3.11, 3.12 |
| Node.js | 18, 20, 22 | |
| Go | 1.21, 1.22, 1.23 | |
| Java (JDK) | 8, 11, 17, 21 | |
| Ruby | 3.1, 3.2, 3.3 | |
| PHP | 8.1, 8.2, 8.3 | |
| Rust | latest stable (via rustup) | |
| .NET | 6.0, 7.0, 8.0 | |
| 构建工具 | Maven | 3.9.x |
| Gradle | 8.x | |
| npm | bundled with Node.js | |
| pip | bundled with Python | |
| yarn | 1.22+ | |
| pnpm | 8.x | |
| CI 工具 | Git | 2.x |
| curl / wget | latest | |
| jq | 1.7+ | |
| yq | 4.x | |
| shellcheck | 0.9+ | |
| 云工具 | kubectl | latest |
| helm | 3.x | |
| aws-cli | 2.x | |
| 包管理 | apt | Ubuntu 24.04 默认 |
| brew | Linuxbrew (可选) |
6.4 官方资源池镜像 OS 版本支持矩阵
| YAML 中 OS 定义 | OS 来源 | 内核 | 架构 | 包管理器 | 生命周期 |
|---|---|---|---|---|---|
ubuntu-24.04 | Ubuntu 24.04.x LTS | 6.8+ | x64 / arm64 | apt / dpkg | 2029-04 EOL |
euler-25.03 | openEuler 25.03 LTS | 6.6+ | x64 / arm64 | dnf / rpm | 2030-xx EOL |
ubuntu-latest | →ubuntu-24.04 | 同上 | 同上 | 同上 | 跟随最新 GA |
euler-latest | →euler-25.03 | 同上 | 同上 | 同上 | 跟随最新 GA |
OS 还可以用
ubuntu-latest描述,latest 为目前支持的最新 OS 版本。当前每类 OS 仅支持一个版本,后续逐步补充。
6.4.1 基础系统工具
| 工具 | Ubuntu (apt) | openEuler (dnf) | 用途 |
|---|---|---|---|
| locales / glibc-all-langpacks | locales | glibc-all-langpacks | UTF-8(en_US.UTF-8)支持 |
| sudo | sudo | sudo | CI 任务提权 |
| git | git | git | 代码拉取 / 提交 |
| curl | curl | curl | HTTP 请求 |
| wget | wget | wget | 文件下载 |
| unzip | unzip | unzip | zip 解压 |
| zip | zip | zip | 创建 zip 包 |
| tar | tar | tar | 归档 |
| ca-certificates | ca-certificates | ca-certificates | HTTPS 信任链 |
| gnupg | gnupg | gnupg | GPG 校验 |
| jq | jq | jq | JSON 解析 |
| bash-completion | bash-completion | bash-completion | 命令补全 |
| openssh-client / openssh-clients | openssh-client | openssh-clients | SSH 客户端 |
6.4.2 编程语言运行时
| 运行时 | Ubuntu 版本 | Euler 版本 | 路径 |
|---|---|---|---|
| Python | python3(系统 3.12) | python3(系统) | 系统 PATH |
| pip | python3-pip | python3-pip | 系统 PATH |
| Java JDK | openjdk-17-jdk | java-17-openjdk-devel | 系统 PATH |
| Node.js | v16.20.2(Gallium LTS) | v16.20.2(Gallium LTS) | ${HOME}/runner/externals/node16 |
6.4.3 编译工具链
| 工具 | Ubuntu (apt) | openEuler (dnf) | 用途 |
|---|---|---|---|
| C/C++ 编译 | build-essential | gcc gcc-c++ make | 提供 gcc / g++ / make |
| 构建工具 | cmake | cmake | C++ 构建 |
| SSL 开发库 | libssl-dev | openssl-devel openssl-libs | OpenSSL 头文件/库 |
| 加密库 | libsodium-dev | libsodium-devel | NaCl 加密 |
6.4.4 容器与云原生
| 工具 | 版本/来源 | 安装位置 | 用途 |
|---|---|---|---|
| Kaniko | v1.23.2(gcr.io/kaniko-project/executor) | /usr/local/bin/kaniko | 无 daemon 构建容器镜像 |
| Docker CLI | 动态最新版(download.docker.com) | /usr/bin/docker | 调用 Docker 引擎(备用路径) |
| kubectl | stable 版(dl.k8s.io) | /usr/local/bin/kubectl | K8s 集群管理 |
6.5 自托管 Runner(self-hosted)
除云托管 Runner 外,AtomGit Action 支持自托管 Runner,使用 runs-on 中的 self-hosted 标签组合指定:
runs-on:
- self-hosted
- custom-label # 自定义标签
自托管标签组合规则:
- 必须包含
self-hosted标签 - 可附加自定义
labels(如gpu,high-mem,arm64等) - Runner 匹配规则:Job 的
runs-on标签列表必须是 Runner 注册标签的子集
# 仅匹配 self-hosted + linux 的 Runner
runs-on: [self-hosted, linux]
# 匹配特定规格
runs-on: [self-hosted, x64, large]