此目录包含本地开发使用的脚本和模板,不会打包进镜像(在 .dockerignore 中排除)。
dev/ ├── templates/ # YAML 配置模板 │ ├── vscode.yml # 开发环境配置模板 │ └── pipeline.yml # CI 流水线配置模板 ├── generate-cnb-yml.sh # 生成 cnb.yml 脚本 └── README.md # 本文件
bash dev/generate-cnb-yml.sh
执行流程:
CNB_DOCKER_REGISTRY, CNB_REPO_SLUG_LOWERCASE)templates/vscode.yml 模板__DEV_IMAGE__ 为实际镜像地址templates/pipeline.yml 模板(保持 CNB 变量不变)/workspace/cnb.yml编辑 templates/vscode.yml:
$:
vscode:
- runner:
cpus: 64 # 修改 CPU 配置
docker:
image: __DEV_IMAGE__ # 保持占位符不变
services:
- vscode
- docker
编辑 templates/pipeline.yml:
main:
push:
- services:
- docker
stages:
# 添加或修改流水线步骤
注意:流水线中的 ${CNB_...} 变量会被 CNB 平台在运行时替换,生成脚本不会处理这些变量。
__DEV_IMAGE__ 占位符会被替换为实际镜像地址${CNB_DOCKER_REGISTRY} 等)保持原样CNB_DOCKER_REGISTRY - Docker 镜像仓库CNB_REPO_SLUG_LOWERCASE - 项目标识符CNB_BRANCH - 分支名称(可选,默认 main)流水线中的变量由平台提供:
${CNB_DOCKER_REGISTRY} - 镜像仓库${CNB_REPO_SLUG_LOWERCASE} - 项目标识符${CNB_BRANCH} - 分支名称${CNB_COMMIT_SHORT} - 短提交 ID模板变量
__DEV_IMAGE__ - 由生成脚本替换${CNB_...} - 由 CNB 平台替换目录隔离
生成输出
cnb.yml 也不会打包进镜像image-scripts/README.mdsetup/README-CLAUDE.md