帮你快速理解、总结文档立即下载

CD 概述

最近更新时间:2026-09-11 20:57:31
我的收藏

什么是 CI/CD

CI/CD(持续集成、持续交付)是一种通过自动化流水线实现短周期、高频率交付软件的开发实践。在 DataBuddy 中,CI/CD 使数据工程师能够像管理软件代码一样管理数据工作流:通过 Bundle 将工作流配置文件化、版本化,结合 Git 实现多环境的自动化部署。

核心能力

能力
说明
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,代码合并后统一部署到生产
多环境隔离部署
开发 / 测试 / 生产三套环境,通过 Target 变量切换
Git 自动化发布
Push 到特定分支自动触发部署,代码审查通过后自动上线
工作流配置版本化
将工作流配置纳入 Git 版本管理,可追溯、可回滚

架构概览

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 命令
CLI 命令完整参考,含安装、认证、部署、运行等

推荐学习路径

如果您是首次使用 CI/CD 功能,建议按以下顺序阅读:
1. 了解核心概念 :本文
2. 动手实践使用 Bundle 开发(端到端完成一次部署)
3. 掌握配置语法Bundle 包定义
4. 查阅命令参考Bundle 命令
5. 集成 Git 流水线Git 联动开发

相关文档