跳到主要内容

部署前校验(tcb validate)

版本要求

tcb validatev3.8.0 起提供。

tcb validate 校验项目的 cloudbaserc.json(v2.1)配置是否合法、资源目录是否存在、资源引用是否一致,在部署前尽早发现问题。它是 声明式部署(tcb deploy) 的配套命令。

快速开始

# 校验当前目录的 cloudbaserc.json
tcb validate

# 指定配置文件
tcb validate --config-file ./config/prod.json

# 校验指定 mode(应用 envOverrides 覆盖)
tcb validate --mode dev

校验通过输出资源概览,无错误时退出码为 0:

配置版本:2.1
资源概览:云函数 1 个,静态托管 1 个,数据库 0 个,网关路由 2 条

校验项

校验项说明示例
Schema 版本配置符合 v2.1 Schema(字段合法、无额外属性)gateway.routes 不允许 cdnType 等未知字段
envId配置必须包含 envId-
requiredEnvrequiredEnv 声明的必填环境变量是否提供-
资源目录函数目录 / hosting root 等是否存在functions/pay-common/ 缺失报错
一致性网关 target 引用的函数/hosting 是否存在于配置target: "function:pay-common" 但函数未定义

输出与退出码

情况输出退出码
校验通过配置版本 + 资源概览0
校验失败错误列表(字段 + 修复建议)1
错误(2)
- gateway.routes.0: 配置不符合 v2.1 Schema:should NOT have additional properties
修复建议:请检查 gateway.routes.0 字段
- gateway.routes.1: 配置不符合 v2.1 Schema:should NOT have additional properties
修复建议:请检查 gateway.routes.1 字段

与 tcb deploy 的关系

  • tcb deploy 内部也做轻量配置守卫(envId 存在、配置合法)
  • 建议在 CI 中先跑 tcb validatetcb deploy,尽早暴露配置问题
  • 完整校验(Schema/目录/一致性)以 tcb validate 为准

参考