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

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 跨仓库共享变量

参考文档

按需加载的详细文档

命令说明示例
cnb-yml.md完整配置语法references/cnb-yml.md
trigger-rule.md触发规则详解references/trigger-rule.md
cache.md缓存策略references/cache.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

快速开始

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