跳到主要内容

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 构建或运行失败。