跳到主要内容

在控制台创建与管理流水线

在控制台创建流水线、配置构建与部署命令、查看部署记录。在本地通过 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-webnpm install --prefix web
build-webtcb app build
deploy-declarativetcb deploy --yes
deploy-cloudruntcb 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 分支,保存后生效。下次推送到新分支时触发生产部署。需要立即生效时,手动触发一次部署。

只部署项目下的部分资源​

在流水线设置中修改部署命令,指定部署目录,保存后重新触发部署。

流水线是否保存构建产物?​

不保存。构建产物(代码包、镜像、静态文件)由各资源管理。静态网站托管无版本概念,每次部署覆盖更新。

是否支持企业内网私有仓库?​

暂不支持。