Skip to content
IN DEVELOPMENTCI/CDcnb.coolDocker.cnb.ymlv0.1.1

CNB 云原生构建

cnb.cool 流水线配置引擎

自动生成和修改 .cnb.yml 流水线配置。覆盖分支 glob 触发、Docker 构建环境、多层缓存、环境变量管理、手动触发按钮和登录调试。附带 7 份参考文档按需加载。

CNB 云原生构建
生成 .cnb.yml 流水线配置
$//dev "为 Go 项目生成 CNB 构建配置"
Analyzing project: Go 1.22, Dockerfile present
OK .cnb.yml generated (push + pull_request)
$cat .cnb.yml
main:
push:
- stages: [test, build, deploy]

核心能力

智能配置生成

根据项目语言和结构自动生成 .cnb.yml,覆盖 pipeline/stage/job 语法、触发规则和环境配置。

触发规则

支持 push、pull_request、commit.add、web_trigger、schedule、api_trigger 等事件,分支 glob 匹配。

构建环境

支持 docker.image(预构建镜像)、docker.build(Dockerfile 构建)、docker.devcontainer 三种模式。

缓存策略

docker.volumes(copy-on-write 跨 stage)和 docker:cache(跨节点共享)两层缓存机制。

手动触发

通过 .cnb/web_trigger.yml 配置按钮参数,支持选择目标构建、传递参数。

调试能力

login debug 模式:添加可登录 stage,进入容器排查问题。

命令参考

配置生成

.cnb.yml 流水线配置

命令说明示例
.cnb.yml主配置文件分支 → 事件 → pipelines → stages → jobs
.cnb/web_trigger.yml手动触发按钮定义按钮 ID、参数、目标 pipeline
.cnb/env/*.yml环境变量复用imports / exports 跨仓库共享变量

参考文档

按需加载的 7 份详细文档

命令说明示例
cnb-yml.md完整配置语法references/cnb-yml.md
trigger-rule.md触发规则详解references/trigger-rule.md
docker-and-runner.mdDocker 环境与 runner 资源references/docker-and-runner.md
cache.md缓存策略references/cache.md
env.md环境变量 / imports / exportsreferences/env.md
web-trigger.md手动触发按钮references/web-trigger.md
debug.md登录调试references/debug.md
recipes.md常见场景配方references/recipes.md

使用方式

告诉 Agent 你的构建需求,它会自动生成配置:

> "为这个 Node.js 项目生成 CNB 构建配置,main 分支 push 触发,需要缓存 node_modules"

Agent 会:
1. 分析项目结构和语言
2. 生成 .cnb.yml(pipeline → stage → job)
3. 配置 docker.volumes 缓存 node_modules
4. 设置分支 glob 触发规则

核心概念

Pipeline 并发模型

同一 <branch>/<event> 下:
├── Pipeline A ──┐    (并发)
│   ├── Stage 1  │    (串行)
│   │   ├── Job1 │    (并发)
│   │   └── Job2 │
│   └── Stage 2  │
├── Pipeline B ──┘
  • 同一分支/事件下多个 pipeline 并发
  • pipeline 内 stage 串行
  • stage 内 job 并发

触发事件

事件说明
push代码推送
pull_requestPR 创建/更新
commit.add新增 commit
web_trigger_*手动按钮触发
schedule定时触发
api_triggerAPI 触发

排查清单

遇到问题时按此顺序检查:

  1. 触发没跑 — 检查 branch glob、event 名、skip-cnb 标记
  2. 缓存没命中 — 确认 volumes 挂载路径一致,跨节点用 docker:cache
  3. 需要进机排查 — 添加 login debug stage

CODING 平台用户注意

若用户使用的是 CODING 平台的云原生构建(配置文件为 .coding-ci.yml),语法与变量机制与本 CNB 有差异,应改用 coding-ci Skill。

开始前先问

Agent 生成配置前会尽量一次问完以下问题:

  1. 默认分支与触发分支 — 哪些分支要跑?是否需要 $ 兖底配置?
  2. 事件 — push / pull_request / commit.add / web_trigger / schedule / api_trigger 等需要哪些?
  3. 构建语言与命令 — Go/Node/Java,具体 test/build/lint 命令
  4. 构建环境 — 用 docker.image / docker.build / docker.devcontainer?是否需要共享 volumes?
  5. 资源与速度 — runner 需要多少 cpus/mem/disk?是否需要 tags?
  6. 缓存与参数 — 缓存什么?跨节点缓存?是否需要 exports 传参?
  7. 发布与手动 — 是否需要 docker build & push、部署、web_trigger 按钮?

参考文档路由

用户问题Agent 加载的参考
怎么写 .cnb.ymlcnb-yml.md + docker-and-runner.md
触发规则/事件/分支trigger-rule.md
env/imports/exportsenv.md
缓存/加速cache.md
手动触发按钮web-trigger.md
登录调试debug.md
Monorepo/Docker push/超时/权限recipes.md

快速开始

Install
via skills.sh (推荐)
$npx skills add northseadl/norix-skills/cnb-cool-integration
或手动安装
$git clone https://github.com/northseadl/norix-skills.git
$ln -s norix-skills/cnb-cool-integration <SKILLS_DIR>/cnb-cool-integration
验证
$cat .cnb.yml
OK Skill ready.

Built for AI Agents, by Norix