用途:当项目存在 cloudbaserc.json/.yaml/.yml/.js 并描述多个资源,用户希望以一份配置整体部署(声明式部署/配置式部署),或希望先预览变更时,使用本技能。不适用于通过 tcb CLI 部署单个云函数或单个静态站点、应用内 SDK 集成以及控制台 UI 操作。
主要能力与依赖顺序:部署编排按固定依赖顺序应用资源——database → functions → app → hosting → gateway。三个 MCP 工具为 deployBuild(本地构建托管产物)、deployPlan(dry-run,零副作用)、deployApply(实际应用)。
使用方式:本地流程为 build → plan → apply。先在项目根目录准备 cloudbaserc 配置;如 hosting 声明了 buildCommand,先调用 deployBuild({ cwd, mode? }) 生成产物,缺少产物时 deployApply 会以 BUILD_OUTPUT_NOT_FOUND 失败;随后调用 deployPlan(可选 mode、envId、only、skip),读取每个资源的动作分类并向用户展示;最后在用户显式确认后以 confirm=true 调用 deployApply,并复用相同的 mode/envId/only/skip。
安全与限制:必须先 plan 再 apply;deployApply 需要 confirm=true 才执行;yes 默认 false,已有资源默认跳过而非覆盖,仅在明确要求覆盖时传 yes=true;database 阶段失败总会中止整个部署;envId 解析优先级为显式参数 > cloudbaserc 的 envId > 已登录/绑定环境,无法解析会报错,建议部署到生产前与用户确认 envId。deployPlan 的状态包括 create、update、skip、conflict、deploy,存在 conflict 时须先解决再应用。
云托管 MCP 模式:该模式下 deployBuild/deployPlan/deployApply 不会注册,属预期行为,应改用云上传通道(queryApps(action=getUploadUrl) 获取 uploadUrl/uploadHeaders/unixTimestamp,上传源码或构建 zip,再 manageApps(action=deployApp, cosTimestamp=...))。云模式下不要请求本地 cwd 或文件系统读取,也不要 HTTP 抓取远程技能或协议 markdown。跨领域协议(Change Safety Protocol、Deployment Gate)须在应用前完成并展示强制声明。
参考文件:config-schema.md、plan-and-apply.md、multi-env.md。