一、核心能力
| 能力 | 说明 |
| Bundle 包管理 | 将工作流、任务、参数等资源定义为 YAML 配置文件,实现 Infrastructure as Code(基础设施即代码) |
| 多环境部署 | 通过 Targets 配置(dev / staging / prod)实现一套配置多环境部署,每个环境可使用独立的 Workspace 和变量 |
| CLI 命令驱动 | 提供 databuddy bundle 系列命令,支持初始化、验证、部署、运行、销毁等完整生命周期操作 |
| 变量覆盖 | 支持通过 –var 参数在命令行中动态覆盖变量值,无需修改配置文件 |
| Git 联动 | 支持将 Bundle 项目托管到 Git 仓库,结合 CI/CD 流水线(GitHub Actions / GitLab CI)实现自动化部署 |
| 版本追溯 | 每次部署自动记录部署状态和 Git 元信息,支持回溯和审计 |
二、关键概念
理解 CI/CD 模块,需要熟悉以下核心概念:
·Bundle :DataBuddy 的资产包,包含工作流配置(YAML)、代码文件(Notebook / SQL / Python)和部署元信息。等同于 Databricks 的 Asset Bundles。
·Target :部署目标环境,如 dev(开发)、staging(预发布)、prod(生产)。每个 Target 可独立配置 Workspace、变量和权限。
·Resource :Bundle 中定义的资源实体,当前支持 Workflow 类型,工作流中可包含 Notebook、SQL、Python、嵌套工作流、数据质量等多种任务类型。
·Profile :本地身份认证配置,存储在 ~/.databuddycfg 中,包含 Workspace 地址和认证凭据。
·databuddy CLI :DataBuddy 提供的命令行工具,用于 Bundle 的全生命周期管理。
三、适用场景
| 场景 | 适用方式 | 推荐功能 |
| 多人协作开发 | 每人使用独立 dev Target,代码合并后统一部署到生产 | 使用 Bundle 开发 |
| 多环境隔离部署 | 开发 / 测试 / 生产三套环境,通过 Target 变量切换 | Bundle 包定义 |
| Git 自动化发布 | Push 到特定分支自动触发部署,代码审查通过后自动上线 | Git 联动开发 |
| 工作流配置版本化 | 将工作流配置纳入 Git 版本管理,可追溯、可回滚 | Bundle 命令 |
四、架构概览
DataBuddy CI/CD 的整体工作流程如下:
| 阶段 | 操作 | 说明 |
| 1. 安装 CLI | curl … | sudo sh | 安装 databuddy 命令行客户端 |
| 2. 登录认证 | databuddy auth login | 跳转到 DataBuddy 登录页完成身份认证 |
| 3. 初始化 Bundle | databuddy bundle init | 选择模板(SQL / Notebook / Minimal)创建 Bundle 项目 |
| 4. 定义资源 | 编辑 YAML + 代码 | 在 resources/workflow/ 中定义工作流,在 src/ 中编写代码 |
| 5. 验证配置 | databuddy bundle validate | 校验 YAML 语法和资源引用 |
| 6. 部署 | databuddy bundle deploy -t dev | 将 Bundle 内容部署到目标环境 |
| 7. 运行 | databuddy bundle run workflow <key> | 在目标环境中运行工作流 |
五、子功能导航
| 子功能 | 说明 | 文档 |
| 实践教程 | 端到端演示 Bundle 开发和 Git 联动的完整流程 | – |
| Bundle 包定义 | YAML 配置文件的结构、字段、多环境配置详解 | Bundle 包定义 |
| Bundle 命令 | CLI 命令完整参考,含安装、认证、部署、运行等 | Bundle 命令 |
六、推荐学习路径
如果你是首次使用 CI/CD 功能,建议按以下顺序阅读:
1. 了解核心概念 :这篇
2. 动手实践 :使用 Bundle 开发(端到端完成一次部署)
3. 掌握配置语法 :Bundle 包定义
4. 查阅命令参考 :Bundle 命令
5. 集成 Git 流水线 :Git 联动开发
七、相关文档
·Bundle 包定义
·Bundle 命令
·工作流概述