upgrade 命令
自动升级 docdoc:取仓库最新版本标签全局重装 CLI,检测到 systemd 服务时自动重启。
语法
docdoc upgrade [--ref <ref>] [--config <path>]
参数
| 参数 | 说明 | 必填 | 缺省 |
|---|---|---|---|
--ref <ref> |
安装的 git ref(分支或 vX.Y.Z 标签) | 否 | 最新 vX.Y.Z 版本标签 |
--config <path> |
配置文件路径,读取 upgrade.token 凭据项 |
否 | 默认路径 ~/.config/docdoc/config.yaml |
行为说明
- 凭据解析链(逐项校验对仓库
Xeegam/docdoc的实际访问权限,无效自动落下一项):- 配置文件
upgrade.token(GitHub PAT) - gh 已认证账号(
gh auth token) - 交互输入:要求输入有效凭据,校验通过前循环询问,留空中止;输入前项均无效时才进入此步
- 配置文件
- 非交互环境(cron、管道)无凭据可用时直接报错中止,不挂起等待输入
- 版本探测使用 GitHub CLI(
gh api repos/Xeegam/docdoc/tags),凭据经GH_TOKEN注入;安装执行pnpm i -g(凭据以x-access-token形式内嵌于仓库 URL,不依赖 git 凭据助手) - 缺省取全量版本标签中最大的 vX.Y.Z;与当前版本相同则不重装,打印「已是最新版本」,
--ref指定时跳过比较直接安装(可强制重装或安装 main) - 安装后若存在
/etc/systemd/system/docdoc.service,自动systemctl restart docdoc使新版本生效;无 systemd 服务则跳过 - 升级到运行中的服务是安全的:安装完成才重启,期间旧版本继续服务
- 命令幂等且非交互(凭据需来自配置文件或 gh 认证),可加入 cron 定时自动升级,例如
0 4 * * * docdoc upgrade - 交互输入的凭据仅本次生效;持久化请写入配置文件
upgrade.token
输出示例
==> 最新版本 v0.6.1,当前 0.6.0
==> 安装 docdoc CLI (ref: v0.6.1)
==> 已重启 systemd 服务 docdoc.service
升级完成:0.6.0 → 0.6.1
已是最新版本时:
已是最新版本:v0.6.1(强制重装可用 docdoc upgrade --ref v0.6.1)
