在控制台创建与管理流水线
在控制台创建流水线、配置构建与部署命令、查看部署记录。在本地通过 CLI 或云 API 部署,见 CLI 与云 API 部署参考;第一次部署想先跑通一遍,见 教程:部署示例项目。
前提条件
项目根目录已有 cloudbaserc.json,并声明了待部署的资源。字段说明见 配置文件。
创建流水线
在控制台的流水线页面创建流水线,依次配置基础设置、部署设置和高级设置。
基础设置
| 配置项 | 说明 |
|---|---|
| 流水线名称 | 只能包含小写字母、数字和连字符,以小写字母开头,不支持连续连字符,不超过 30 个字符 |
| 触发方式 | 见 触发方式 |
| Git 仓库 | 依次选择仓库类型、仓库组织、仓库地址和仓库分支。未授权或授权过期时,页面提示重新授权 |
| 启动自动部署 | 开启后,关联仓库推送代码会自动触发构建和部署 |
| 容器规格 | 构建容器的 CPU 与内存规格,CPU 与内存按 1:2 固定配置 |
触发方式
| 触发方式 | 说明 |
|---|---|
| Git 仓库 | 支持个人仓库和公开仓库。仓库授权一次,全局复用;推送代码后可自动更新部署 |
| 代码包 | 上传代码包触发部署 |
Git 触发时,流水线拉取所选分支的最新 commit 进行部署。支持 GitHub、Gitee、CNB。
构建环境
构建环境预装 Node.js、Python、Go、Docker 和 CloudBase CLI。CLI 已登录,无需配置密钥。
部署设置:命令模式
命令模式决定流水线在构建环境中执行哪些命令,分为简易命令和自定义编排。
| 模式 | 适用场景 |
|---|---|
| 简易命令 | 项目按“安装依赖 → 构建 → 部署”三步完成,使用默认流程即可 |
| 自定义编排 | 需要在三步之外增加预处理、镜像构建、通知等步骤 |
简易命令
| 配置项 | 说明 |
|---|---|
| 目标目录 | 项目代码所在目录,默认为根目录 ./。项目位于子目录时填写相对路径,如 ./frontend |
| 安装命令 | 安装项目依赖,如 npm install。无需安装时留空 |
| 构建命令 | 编译和打包项目,如 npm run build。无需构建时留空 |
| 部署命令 | 必填。默认为 tcb deploy --yes |
部署命令默认使用 tcb deploy,按 cloudbaserc.json 的声明一次性部署云函数、云应用、静态托管和网关等资源。部署规则见 声明式部署(tcb deploy),配置文件见 配置文件。
⚠️
tcb deploy不执行静态托管的本地构建。cloudbaserc.json的hosting配置了buildCommand时,构建命令填tcb app build,或在构建命令中自行生成outputDir目录。outputDir已存在时,tcb deploy直接上传其中的内容,不会提示产物是否过期。详见 tcb app build。
⚠️
tcb app build不安装依赖,依赖必须安装在hosting[].root目录下。前端项目位于子目录时,安装命令要指向该目录,例如npm install --prefix web。在仓库根目录执行npm install,tcb app build会报“未检测到 node_modules”。
示例:前端项目在 web/ 目录,cloudbaserc.json 中 hosting[].root 为 ./web。
| 配置项 | 值 |
|---|---|
| 安装命令 | npm install --prefix web |
| 构建命令 | tcb app build |
| 部署命令 | tcb deploy --yes |
项目在仓库根目录时,安装命令填 npm install。
hosting[].deployPath为子路径(如/pipeline-demo)时,前端构建的资源路径要与之匹配。Vite 项目在vite.config.js中设置base: './',否则页面请求/assets/*会返回 404。tcb validate会对此给出警告。
自定义编排
自定义编排将部署过程拆成多个步骤,按顺序执行。每个步骤包含名称和命令。
适用于以下场景:
- 在部署前生成配置文件或环境变量
- 构建并推送 Docker 镜像(命令含
docker build或docker push时,构建环境提供 Docker 服务) - 部署完成后调用 Webhook 通知
自定义编排中仍可通过 tcb deploy、tcb app deploy、tcb cloudrun deploy 等 CLI 命令完成资源部署。
tcb deploy 不部署云托管。同一次流水线需要同时部署云函数、静态托管、网关和云托管时,拆成多个步骤:
| 步骤名称 | 命令 |
|---|---|
install-web | npm install --prefix web |
build-web | tcb app build |
deploy-declarative | tcb deploy --yes |
deploy-cloudrun | tcb cloudrun deploy -s demo-run --source ./cloudrun/demo-run --port 3000 --force --yes --wait |
云托管命令参数见 部署云托管。
高级设置:环境变量
环境变量在构建时注入,支持三种输入方式:
| 输入方式 | 说明 |
|---|---|
| 可视化输入 | 逐条填写 key 和 value |
| JSON 输入 | 以 JSON 对象批量填写 |
| 配置文件输入 | 通过配置文件批量填写 |
构建命令和部署命令可直接读取这些环境变量。
部署前确认
点击部署后,页面展示本次部署的目标类型和资源清单。确认后,已有资源被覆盖更新,新资源被创建。
确认部署后,页面跳转到该版本的构建日志。
查看部署
流水线信息
部署完成后,流水线信息页展示各资源的部署结果,例如静态网站托管访问地址、云函数和 HTTP 网关。
通过 cloudbaserc.json 的 hosting 部署的静态网站,在控制台“静态网站托管 → 文件管理”的 deployPath 目录下查看,不会出现在“应用”列表。通过 app 部署的才是应用,见 静态网站托管的两种部署形态。
部署变量、自动部署开关也在这里设置。
部署版本
部署版本列表展示每次部署的版本、时间、状态和目标。点击某个版本,可查看:
- 版本详情:触发方式、触发人、Git Commit、构建日志
- 部署资源:本次部署的全量资源,细化到实例名
同一分支在构建期间又有新的推送时,当前构建完成后只部署最新的 commit,排队中的构建被取消。
管理流水线
更新流水线
用于切换生产分支,或修改构建命令。
修改并保存配置后,下次触发时生效,不会自动触发部署。
重新部署
用于构建失败重试、依赖拉取异常等场景。
重新部署使用该次部署的原始代码(Git 为 Commit SHA,代码包为原上传文件)重新构建一次。
自动部署
自动部署开关即时生效,无需重新构建。
常见问题
修改 Git 生产分支后,流水线如何处理?
在流水线设置中修改 Git 分支,保存后生效。下次推送到新分支时触发生产部署。需要立即生效时,手动触发一次部署。
只部署项目下的部分资源
在流水线设置中修改部署命令,指定部署目录,保存后重新触发部署。
流水线是否保存构建产物?
不保存。构建产物(代码包、镜像、静态文件)由各资源管理。静态网站托管无版本概念,每次部署覆盖更新。
是否支持企业内网私有仓库?
暂不支持。