tcb validate
校验项目的 cloudbaserc.json 是否合法、资源目录是否存在、资源引用是否一致,在部署前暴露配置问题。
v3.8.0+
tcb validate 自 v3.8.0 起提供。
语法
tcb validate [options]
参数
| 参数 | 必填 | 说明 | 默认值 |
|---|---|---|---|
--config-file <path> | 否 | 配置文件路径 | 项目根目录的 cloudbaserc.json |
--mode <mode> | 否 | 应用 envOverrides.<mode> 覆盖后校验 | — |
示例
# 校验当前目录的 cloudbaserc.json
tcb validate
# 指定配置文件
tcb validate --config-file ./config/prod.json
# 校验指定 mode
tcb validate --mode dev
校验通过时输出资源概览,退出码为 0:
[PASS] 项目校验通过
资源概览:云函数 1 个,静态托管 1 个,数据库 0 个,网关路由 2 条
校验项
| 校验项 | 说明 | 示例 |
|---|---|---|
| 配置结构 | 符合 cloudbaserc schema,字段合法、无额外属性 | gateway.routes 不允许 cdnType 等未知字段 |
| envId | 配置必须包含 envId | — |
| 资源目录 | 函数目录、hosting root 等是否存在 | functions/pay-common/ 缺失报错 |
| 一致性 | 网关 target 引用的函数或 hosting 是否在配置中定义 | target: "function:pay-common" 但函数未定义 |
输出与退出码
| 情况 | 输出 | 退出码 |
|---|---|---|
| 校验通过 | 资源概览 | 0 |
| 校验失败 | 错误列表(字段 + 修复建议) | 1 |
错误(2)
- gateway.routes.0: 配置不符合 cloudbaserc schema:should NOT have additional properties
修复建议:请检查 gateway.routes.0 字段
- gateway.routes.1: 配置不符合 cloudbaserc schema:should NOT have additional properties
修复建议:请检查 gateway.routes.1 字段
与 tcb deploy 的关系
tcb deploy内部也做轻量配置守卫(envId存在、配置合法)- 建议在 CI 中先跑
tcb validate再tcb deploy,尽早暴露配置问题 - 完整校验(结构 / 目录 / 一致性)以
tcb validate为准