1069 字约 4 分钟
云原生构建将任务分发到各构建节点执行,集群以 Docker 镜像作为构建环境。
配置方式
通过 pipeline.runner.tags 指定构建节点,pipeline.runner.cpus 配置 CPU 核数。
可用节点
| Tags | 架构 | CPU 核数 | GPU 显存 | 构建最大时间 | 开发最大时间 |
|---|---|---|---|---|---|
cnb:arch:amd64 | amd64 | 1 ~ 64(默认 8) | - | 20 小时 | 18 小时 |
cnb:arch:arm64:v8 | arm64/v8 | 1 ~ 16(默认 8) | - | 20 小时 | 18 小时 |
cnb:arch:amd64:gpu | amd64 | 固定 16 | 48GB(共享) | 4 小时 | 4 小时 |
cnb:arch:amd64:gpu:H20 | amd64 | 固定 32 | 96GB(共享) | 4 小时 | 4 小时 |
cnb:arch:amd64:gpu:L40 | amd64 | 固定 16 | 48GB(共享) | 4 小时 | 4 小时 |
注意
cnb:arch:amd64:gpu:H20 不推荐使用,H20 已停产。
示例
.cnb.yml
main:
push:
- runner:
# 指定在 amd64 架构构建节点上执行
tags: cnb:arch:amd64
cpus: 8
stages:
- name: uname
script: uname -a
- runner:
# 指定在 arm64/v8 架构构建节点上执行
tags: cnb:arch:arm64:v8
cpus: 8
stages:
- name: uname
script: uname -a
$:
vscode:
- runner:
# 启动一个能使用 gpu 的云原生开发环境
tags: cnb:arch:amd64:gpu
services:
- vscode根组织自定义 Runner
除了平台官方提供的构建节点外,根组织管理员还可以自助接入 Mac、Windows 构建机,作为本组织专属的构建资源,用于满足组织内的特定构建需求(例如 iOS 构建、Windows 桌面应用打包)。
接入构建节点
- 进入
根组织 / 组织设置 / 构建节点页面,点击+ 新增 Runner,填写名称、标签等信息保存。 - 新创建的节点初始为「离线」状态,点击 Runner 行尾的
连接指引按钮,弹窗会展示对应平台(Mac、Windows)的一键接入脚本,并自动注入该节点的唯一标识,无需手动替换。 - 在目标 Mac/Windows 构建机上执行对应平台的脚本,节点状态变为「在线」即接入成功。
在流水线中使用
接入并启用后,通过 runner.namespace + runner.tags 即可调度到该节点:
runner.namespace设为group,表示使用当前仓库所属根组织下的自托管构建节点。runner.tags必须是节点已声明标签的子集("与"关系,列出的每个 tag 都需出现在节点标签上)。
Mac 节点示例
.cnb.yml
main:
push:
- runner:
# 使用当前仓库所属根组织下的自托管构建节点
namespace: group
# 列出的每个 tag 都需出现在节点标签上(节点标签为超集)
# 例如节点标签为 [mac, arm64, xcode15] 时,下面这组可命中
tags:
- mac
- arm64
stages:
- name: build-on-mac
script: |
# 验证确实跑在 Mac 节点
sw_vers
uname -m
# 常用构建工具
xcodebuild -version
brew --versionWindows 节点示例
.cnb.yml
main:
push:
- runner:
namespace: group
# 例如节点标签为 [windows, win11, msvc2022] 时,下面这组可命中
tags:
- windows
stages:
- name: build-on-windows
script: |
# 验证确实跑在 Windows 节点
ver
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
# 常用构建工具
where msbuild
powershell -Command "Get-ComputerInfo | Select-Object WindowsVersion, OsArchitecture"限制
- 仅支持 Mac 与 Windows 构建机。
- 自定义构建机需要能够访问 CNB 站点(用于注册节点、上报心跳、拉取流水线任务及上传日志/制品);若机器位于内网,请确保已开通对应出网策略。
- 自定义 Runner 默认不开启 Docker 能力,构建脚本直接运行在宿主机上,因此:
runner.cpus配置无效(资源限额由 Docker cgroups 实现,宿主机直跑时整机资源直接可用),不参与核时计费。- 不能使用基于 Docker 镜像的构建环境(
pipeline.docker.image等不会生效)。 OverlayFS不可用,秒级克隆会自动降级为普通 git clone。
- 自定义 Runner 仅限云原生构建使用,不支持云原生开发(远程开发)任务。
- 节点的
启用状态关闭或处于「离线」时,命中该 Runner 的流水线会进入排队等待,直到节点恢复可用。
提示
若 根组织 / 组织设置 中没有看到 构建节点 入口,说明平台尚未对当前组织开放该能力,请联系平台管理员。