xdbapp CLI 总览
xdbapp 是信多帮云应用的本地开发与发布工具。它运行在开发电脑或 CI 中,不会被打包进应用。
一句话理解 dev 和 deploy
xdbapp dev -- <启动命令>:在开发电脑运行项目,CLI 自动接入 Preview 环境变量、Preview 数据库、当前登录用户、文件存储和开放平台短期 Token。xdbapp deploy:把源码上传到云应用托管环境,构建并创建可验收的 Preview 版本。
dev 不会上传源码,deploy 也不是在本地启动项目。详见本地开发:xdbapp dev。
安装
macOS / Linux:
curl -fsS https://paas.xinduobang.cn/i | sh
Windows PowerShell:
irm https://paas.xinduobang.cn/install.ps1 | iex
安装器会自动识别操作系统和处理器架构,并校验下载文件的 SHA-256。
谁可以登录 CLI
以下两类账号可以在商家后台授权 CLI:
- 商家管理员(
roleId=1); - 被商家管理员勾选了“开发者”角色的员工(
roleId=110)。
开发者角色只赋予 CLI 开发和发布权限,不会因此获得创建、删除、停用应用或更改商家配额等管理权限。授权时还必须选择允许访问的具体云应用。
员工被禁用、删除或失去开发者/管理员角色后,原有 CLI 会话在下次使用时失效。
登录、退出和项目关联
xdbapp login --core-url https://abc.co.xinduobang.cn
xdbapp whoami
xdbapp accounts
xdbapp use <账号ID或商家名称>
xdbapp link
xdbapp logout
--core-url 必须是当前商家真实的信多帮后台地址。登录凭据保存在 macOS Keychain、Windows Credential Manager 或 Linux Secret Service,不写入项目文件。
login 是电脑级操作:同一台电脑可以保存多个商家账号,用 accounts 查看,用 use 切换当前账号。登录失效或新增 App 尚未进入授权范围时,再重新登录对应商家刷新授权。
link 是项目级操作:每个本地项目目录执行一次,同时记住当时使用的账号和云应用。已绑定的项目继续使用自己的账号,切换全局账号不会让 A 商家的项目误用 B 商家的凭据。不同目录互不影响;确实需要重新绑定时才使用 --force。
只授权一个应用时会自动选中;授权多个应用时会列出名称,按序号选择。脚本可使用 xdbapp link --app-id <app-id> 指定应用。
logout 退出当前账号,logout --all 退出本机保存的全部账号;两者都会撤销相应登录会话,但保留本地业务代码和项目绑定。
命令索引
| 命令 | 做什么 | 是否修改托管端 |
|---|---|---|
login / logout / whoami | 管理开发者登录 | 仅登录会话 |
accounts / use | 查看已保存账号、切换当前账号 | 否 |
link | 把当前目录关联到已授权 App | 否 |
validate | 校验配置、入口、上传文件和排除规则 | 否 |
dev | 用 Preview 能力运行本地项目 | 不发布;会创建短期代理凭据 |
deploy | 上传、构建并创建 Preview Deployment | 是 |
promote | 将已就绪的 Deployment 设为 Production | 是 |
preview | 将保留期内的指定历史版本重新挂到 Preview | 是,仅替换测试环境 |
rollback | 将 Production 切回仍在保留期内的历史 Deployment | 是 |
status | 查看项目关联、Production 指针和健康状态 | 否 |
deployments / inspect | 列出版本或查看某个版本的详情 | 否 |
logs | 查看构建日志、运行日志和服务端定时任务输出 | 否 |
env | 管理 Build / Preview / Production 环境变量 | 是 |
db proxy | 通过本机回环端口访问 Preview MySQL | 会创建短期连接 |
open | 只在浏览器打开 Production 或指定 Preview | 否 |
doctor | 诊断 CLI、登录、项目和网络 | 否 |
update / uninstall | 更新或卸载 CLI | 不修改业务代码和云应用 |
在终端运行 xdbapp help <command> 可查看对应命令的用法。
服务端定时任务不是一条单独的 CLI 命令,而是在 xdb-paas-deploy.yaml 的 jobs 中随应用版本声明。平台只调度当前 Production 版本,并把执行结果写入同一套日志和审计。参见项目与部署约定。
CI 与人工登录的边界
CI 无法完成浏览器授权时,可以把单 App 部署令牌放入加密变量 XDB_PAAS_DEPLOY_TOKEN。它可以用于校验和发布,但不能使用数据库代理、开放平台本地短期 Token、当前用户或 Storage 等敏感开发能力。
不要把任何令牌写入仓库、构建脚本或普通日志。
设置了 XDB_PAAS_DEPLOY_TOKEN 时,已绑定项目的发布命令优先使用该单 App 令牌;login、whoami、link 和本地敏感开发能力仍使用人工授权账号。排查“账号正确但发布无权限”时,应同时检查当前进程是否带有其他 App 的部署令牌。
更新与卸载
xdbapp version
xdbapp update
xdbapp uninstall
平台要求最低安全版本时,先执行 update 再重试原命令。更新或卸载 CLI 都不会删除业务代码、部署配置、项目绑定或项目说明。
自动化脚本可使用退出码判断结果:0 成功、2 参数错误、3 项目或配置校验失败、4 认证或权限失败、5 平台或网络错误、6 构建或运行失败。