配置文件
cloudbaserc.json 是云开发项目的核心配置文件,用于统一管理 CLI 和 VS Code 插件的部署配置。通过配置文件,您可以简化命令行操作,实现多环 境部署和动态配置管理。
配置文件主要用于以下场景:
- 云函数部署:定义函数名称、运行时、超时时间、环境变量等配置
- 多环境管理:通过环境变量和动态变量支持开发、测试、生产等不同环境
- 跨工具共享:在 CLI 和 VS Code 插件间共享统一配置,避免重复设置
JSON Schema
配置文件支持 JSON Schema 验证,可在编辑器中获得代码补全和验证提示。
Schema 地址:https://static.cloudbase.net/cli/cloudbaserc.schema.json
VS Code 配置示例(在 .vscode/settings.json 中添加):
{
"json.schemas": [
{
"fileMatch": ["cloudbaserc.json"],
"url": "https://static.cloudbase.net/cli/cloudbaserc.schema.json"
}
]
}
配置字段
以下是 cloudbaserc.json 支持的顶层配置字段,点击字段名可快速跳转:
| 字段 | 类型 | 说明 |
|---|---|---|
version | String | 配置文件版本号 |
envId | String | 云开发环境 ID |
region | String | 环境所在地域 |
functionRoot | String | 云函数代码存放目录 |
functions | Array<CloudFunction> | 云函数配置项数组 |
integrations | Array<Integration> | 集成配置项数组 |
app | Object | 云应用部署配置 |
gateway | Object | 网关路由配置 |
hosting | Array<Object> | 静态托管应用配置 |
database | Object | 数据库迁移配置 |
version
| 属性 | 值 |
|---|---|
| 类型 | String |
| 默认值 | "1.0"(未指定时) |
| 说明 | 配置文件版本号,当前支持 "2.0"(动态变量)与 "2.1"(声明式部署,支持 gateway/database 等资源) |
| 示例 | "version": "2.0" |
envId
| 属性 | 值 |
|---|---|
| 类型 | String |
| 说明 | 云开发环境 ID,环境的唯一标识符 |
| 示例 | "envId": "dev-abc123" |
region
| 属性 | 值 |
|---|---|
| 类型 | String |
| 说明 | 环境所在地域。上海地域可以省略,其他地域(如新加坡)必须填写 |
| 示例 | "region": "ap-singapore" |
functionRoot
| 属性 | 值 |
|---|---|
| 类型 | String |
| 说明 | 云函数代码存放目录,相对于项目根目录的路径 |
| 示例 | "functionRoot": "./functions" 或 "functionRoot": "functions" |
functions
云函数配置项数组,每个 元素是一个 CloudFunction 对象,描述一个云函数的部署配置(基础配置、代码配置、环境变量、触发器、镜像等)。完整字段列表见 配置文件-云函数。
| 属性 | 值 |
|---|---|
| 类型 | Array<CloudFunction> |
| 说明 | 每个元素描述一个云函数的部署配置(name、runtime、timeout、envVariables 等) |
name(必填):函数部署后的标识符(同一envId下唯一),需与gateway.routes[].target中的function:<name>对应runtime:运行时环境,支持Nodejs16.13/Nodejs18.15/Nodejs20.19/Python3.10/Golang1.21/PHP8.2/Java17等timeout:超时时间 1-900 秒,默认5handler:处理方法名,格式文件名.函数名(如index.main),默认index.mainmemorySize:内存大小(MB),64-3072,默认256envVariables:环境变量,键值对,支持{{env.NAME}}引用外部变量;密钥类推荐用 KMS/SCF 密钥管理,不要硬编码functionRoot(顶层):所有函数的根目录,未指定dir时函数部署路径为functionRoot/name- 完整 30+ 字段按基础配置 / 代码和依赖 / 高级配置 / 触发器 / VPC / WebSocket / 并发 / 镜像分组见 配置文件-云函数
示例:
{
"functions": [
{
"name": "app",
"timeout": 10,
"runtime": "Nodejs16.13",
"envVariables": {
"API_KEY": "{{env.API_KEY}}"
}
}
]
}
integrations
集成配置项数组,每个元素描述一个集成中心的配置(微信支付、公众号、AI 工具等)。集成中心把凭证、回调、验签等模板化逻辑沉淀在平台层,业务方只需用云函数 SDK / HTTP 调用即可。完整字段列表见 配置文件-集成。
| 属性 | 值 |
|---|---|
| 类型 | Array<Integration> |
| 说明 | 每个元素描述一个集成的配置(keyId、authTypeCode、envVariables 等) |
keyId(必填):集成实例唯一标识,用于匹配云端已有实例;同一envId下唯一authTypeCode(必填):集成类型代码,决定集成中心部署哪种云函数模板,可用tcb integration types查询envVariables:凭证型环境变量,由集成中心托管(业务代码不要硬编码),支持@文件引用语法demoCodeFunctionName:要绑定的云函数名称- 完整字段、
authTypeCode常用取值、凭证字段、@文件引用语法见 配置文件-集成
app
云应用部署配置,用于 tcb app deploy / tcb deploy 命令。配置后可免去每次手动指定框架、构建命令等参数,支持零配置自动检测。完整字段列表、优先级总则与 CLI 参数对照见 应用部署。
| 属性 | 值 |
|---|---|
| 类型 | Object |
| 说明 | 云应用部署配置,用于 tcb app deploy / tcb deploy 命令 |
serviceName:云应用服务名称,默认取package.json的name或目录名root:应用项目根目录(相对于cloudbaserc.json),monorepo 场景指定子项目路径framework:前端框架react/vue/vite/next/nuxt/angular/staticbuildCommand/outputDir:构建命令与产物目录,纯静态项目可跳过构建deployPath:静态托管挂载路径,必须以/开头- 完整 9 个字段、优先级总则、CLI 参数对照见 应用部署
gateway
网关路由配置,用于 tcb deploy 声明式部署网关,定义如何将 HTTP 请求按「域名 + 路径」转发到云函数、静态托管等上游服务。完整字段列表见 配置文件-网关。
| 属性 | 值 |
|---|---|
| 类型 | Object |
| 说明 | CloudBase 网关路由配置,用于 tcb deploy 声明式部署网关 |
routes(必填):网关路由列表,每项描述一条「域名 + 路径 → 上游」的转发规则routes[].path(必填):URL 路径,如/api,不支持通配符*routes[].target(必填):目标资源function:<name>(云函数)或hosting:<name>(静态托管)routes[].domain:绑定的自定义域名,未绑定时tcb deploy自动绑定(幂等)routes[].accessType:域名接入方式DIRECT/CDN/CUSTOM/EO- 完整 13 个
routes[]字段及接入方式、协议、证书、限频等补充说明见 配置文件-网关
hosting
静态托管应用配置(数组,多站点),用于 tcb deploy 声明式部署静态托管。支持本地构建(对齐 Netlify):buildCommand 非空时自动执行 install + build 后上传产物;纯静态时直接上传。完整字段列表见 静态网站托管。
| 属性 | 值 |
|---|---|
| 类型 | Array<Object> |
| 说明 | 静态托管应用配置,用于 tcb deploy 声明式部署静态托管 |
name(必填):应用名称,同一配置文件内唯一,被gateway.routes[].target: hosting:<name>引用root:项目根目录(相对cloudbaserc.json),用于 monorepoframework:前端框架react/vue/vite/vite-react/vite-vue/next/nuxt/angular/static/custombuildCommand/outputDir