概述
流水线管理提供从代码到上线的统一通道。连接 Git 仓库或上传代码包后,流水线完成依赖安装、项目构建与资源部署,并为每一次部署生成完整记录。
基本概念
一条流水线由一个代码来源(Git 仓库或代码包)和一个目标云开发环境绑定而成。部署记录、流水线设置都归属于流水线。
部署流程:
触发 → 代码拉取 → 构建打包 → 部署到云开发资源
| 阶段 | 说明 |
|---|---|
| 触发 | Git 推送、代码包上传、模板、CLI |
| 代码拉取 | 拉取关联分支的最新 commit |
| 构建打包 | 执行自定义的安装、构建脚本,实时展示构建日志 |
| 部署 | 执行部署命令,将产物部署到云函数、云应用、静态网站托管、网关、云托管等资源,构建时注入环境变量 |
流水线不存储部署产物。产物由各资源自行管理,流水线只记录部署来源和资源快照。
核心能力
| 能力 | 说明 |
|---|---|
| 统一创建入口 | 通过目录结构或 cloudbaserc.json 识别待部署的一个或多个资源 |
| 多种触发方式 | Git 仓库、代码包、模板、CLI |
| Git 授权 | 统一授权 GitHub、Gitee、CNB,一次授权,全局复用 |
| 构建环境 | 预装 Node.js、Python、Go、Docker 和已登录的 CloudBase CLI,免密钥;安装、构建、部署脚本均可自定义 |
| 构建日志 | 控制台实时展示构建日志 |
| 部署记录 | 统一的部署历史:时间、触发方式、触发人、Git Commit、部署结果 |
| 环境变量 | 按流水线配置,构建时注入 |
| 部署前确认 | 展示部署目标类型和资源清单,确认覆盖或新增 |
| 自动部署 | 开关即时生效,无需重新构建 |
基于声明式部署
流水线能力基于云开发声明式部署实现。流水线读取指定根目录下 cloudbaserc.json 中已声明的资源,按声明一次性完成部署。支持声明的资源包括:
- 云函数
- 云应用
- 静态网站托管
- 网关路由
- 数据库迁移
- 集成
使用流水线前,需先在项目内完成配置文件初始化,并确认 cloudbaserc.json 已正确声明待部署的资源。配置文件的字段说明与完整示例,请参见 配置文件。
⚠️ 云托管服务不在声明式部署范围内,
cloudbaserc.json没有对应字段,网关路由也不能指向云托管。云托管使用tcb cloudrun deploy部署,在 自定义编排 中与tcb deploy组合使用,命令见 部署云托管。
静态网站托管的两种部署形态
cloudbaserc.json 中的 hosting 和 app 都会把前端产物部署到静态网站托管,但云端形态不同:
| 对比项 | hosting | app |
|---|---|---|
| 部署命令 | tcb deploy | tcb app deploy,或随 tcb deploy 一起部署 |
| 构建位置 | 本地或流水线构建环境,先执行 tcb app build | 云端构建 |
| 云端形态 | 静态托管根目录下 deployPath 对应的文件目录,没有应用实体 | 有应用名称、版本记录和独立访问域名的应用 |
| 查看位置 | 控制台“静态网站托管 → 文件管理” | 控制台“应用”列表 |
| 可被网关引用 | 可以,target: hosting:<name> | 不可以 |
| 访问地址 | <环境域名>/<deployPath>/ | <应用名>-<环境 ID>.webapps.tcloudbase.com |
关联资源
关联资源由项目配置文件(cloudbaserc.json)解析生成,是本次部署的预期关联资源。
⚠️ 实际部署的资源以部署命令的执行结果为准,可能与预期存在差异。部署完成后,可在部署记录中查看实际部署详情。
选择文档
| 要做什么 | 文档 |
|---|---|
| 第一次部署,想先跑通一遍 | 教程:部署示例项目 |
| 在控制台创建流水线、查看部署记录 | 在控制台创建与管理流水线 |
| 在 CI/CD、脚本或自建平台中触发部署,查命令和接口参数 | CLI 与云 API 部署参考 |