跳到主要内容

Runner 镜像与预装工具

本文档是 AtomGit Action Runner 标签体系、资源规格和预装工具清单的完整参考,同时包含自托管 Runner 的配置说明。

6.1 Runner 标签体系

AtomGit Action Runner 使用三段式标签格式:{os-version},{arch},{flavor}

标签段说明取值示例
os-version操作系统与版本ubuntu-24, windows-2022
archCPU 架构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内存系统盘适用场景
slim1核4GB20GB轻量检查、lint、小型脚本
small2核8GB50GB常规 CI 构建、单元测试
medium4核16GB100GB中型项目构建、集成测试
large8核32GB200GB大型项目构建、性能测试
xlarge16核64GB500GB大规模并行构建、重型计算
2xlarge32核128GB1TB极重型计算、大数据处理

规格选择建议: 默认推荐 small 规格(2核8G50G),可满足大多数 CI/CD 场景。仅在有明确性能需求时选择更高规格。

6.3 Ubuntu 24.04 预装工具

类别工具版本/说明
语言与运行时Python3.10, 3.11, 3.12
Node.js18, 20, 22
Go1.21, 1.22, 1.23
Java (JDK)8, 11, 17, 21
Ruby3.1, 3.2, 3.3
PHP8.1, 8.2, 8.3
Rustlatest stable (via rustup)
.NET6.0, 7.0, 8.0
构建工具Maven3.9.x
Gradle8.x
npmbundled with Node.js
pipbundled with Python
yarn1.22+
pnpm8.x
CI 工具Git2.x
curl / wgetlatest
jq1.7+
yq4.x
shellcheck0.9+
云工具kubectllatest
helm3.x
aws-cli2.x
包管理aptUbuntu 24.04 默认
brewLinuxbrew (可选)

6.4 官方资源池镜像 OS 版本支持矩阵

YAML 中 OS 定义OS 来源内核架构包管理器生命周期
ubuntu-24.04Ubuntu 24.04.x LTS6.8+x64 / arm64apt / dpkg2029-04 EOL
euler-25.03openEuler 25.03 LTS6.6+x64 / arm64dnf / rpm2030-xx EOL
ubuntu-latestubuntu-24.04同上同上同上跟随最新 GA
euler-latesteuler-25.03同上同上同上跟随最新 GA

OS 还可以用 ubuntu-latest 描述,latest 为目前支持的最新 OS 版本。当前每类 OS 仅支持一个版本,后续逐步补充。

6.4.1 基础系统工具

工具Ubuntu (apt)openEuler (dnf)用途
locales / glibc-all-langpackslocalesglibc-all-langpacksUTF-8(en_US.UTF-8)支持
sudosudosudoCI 任务提权
gitgitgit代码拉取 / 提交
curlcurlcurlHTTP 请求
wgetwgetwget文件下载
unzipunzipunzipzip 解压
zipzipzip创建 zip 包
tartartar归档
ca-certificatesca-certificatesca-certificatesHTTPS 信任链
gnupggnupggnupgGPG 校验
jqjqjqJSON 解析
bash-completionbash-completionbash-completion命令补全
openssh-client / openssh-clientsopenssh-clientopenssh-clientsSSH 客户端

6.4.2 编程语言运行时

运行时Ubuntu 版本Euler 版本路径
Pythonpython3(系统 3.12)python3(系统)系统 PATH
pippython3-pippython3-pip系统 PATH
Java JDKopenjdk-17-jdkjava-17-openjdk-devel系统 PATH
Node.jsv16.20.2(Gallium LTS)v16.20.2(Gallium LTS)${HOME}/runner/externals/node16

6.4.3 编译工具链

工具Ubuntu (apt)openEuler (dnf)用途
C/C++ 编译build-essentialgcc gcc-c++ make提供 gcc / g++ / make
构建工具cmakecmakeC++ 构建
SSL 开发库libssl-devopenssl-devel openssl-libsOpenSSL 头文件/库
加密库libsodium-devlibsodium-develNaCl 加密

6.4.4 容器与云原生

工具版本/来源安装位置用途
Kanikov1.23.2(gcr.io/kaniko-project/executor)/usr/local/bin/kaniko无 daemon 构建容器镜像
Docker CLI动态最新版(download.docker.com)/usr/bin/docker调用 Docker 引擎(备用路径)
kubectlstable 版(dl.k8s.io)/usr/local/bin/kubectlK8s 集群管理

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]