← ClaudeAtlas

hotplex-updatelisted

HotPlex 二进制更新。完整工作流:构建 → 安装 → 服务重启 → 验证 → 错误处理和回滚机制。支持用户级和系统级服务,跨平台兼容(Linux/macOS/Windows)。
hrygo/hotplex · ★ 43 · AI & Automation · score 80
Install: claude install-skill hrygo/hotplex
# HotPlex 更新与服务重启工作流 ## 概述 此 skill 提供完整的 HotPlex 二进制更新工作流。它帮助你安全地部署新编译的代码,确保服务正常运行,并在出现问题时提供回滚机制。整个过程通常只需 3-5 秒停机时间。 ## 重要:重启指令选择 - **纯重启(不替换二进制)**:必须使用 `hotplex service restart` 原子指令 - **二进制替换场景**:需要手动 `stop → sleep 2 → cp → start`,因为服务管理器需要时间释放文件句柄 ## 为什么需要此 Skill 更新运行中的服务二进制看似简单,但有几个常见陷阱: - **Text file busy 错误**:如果服务还在运行就无法替换二进制文件 - **服务启动失败**:新二进制可能有运行时错误 - **版本混淆**:不确定是否真的部署了新版本 - **无法回滚**:更新失败后没有快速恢复方案 此 skill 通过标准化流程避免这些问题,每次更新都成功。 ## 前置条件 - 已安装并配置 `hotplex` CLI - 已安装 `make` 和 `go` 1.26+ - 已安装服务(`hotplex service install`,支持 user/system 级别) - 对安装目录(默认 `~/.local/bin/`)的写入权限 ## 何时使用此 Skill **直接触发场景**(直接调用此 skill): - 你说"更新 hotplex"、"部署新版本"、"重启服务" - 你说"安装最新构建"、"升级二进制"、"回滚版本" - 刚执行了 `make build` 需要部署 - 刚执行了 `git pull` 需要更新代码 - 服务升级失败需要恢复 **隐式触发场景**(工作流中自动使用): - 构建流程的最后一步 - CI/CD 部署阶段 - 版本回滚操作 ## 工作流步骤 ### 步骤 1:构建新二进制 首先编译最新源代码,这会创建一个包含你最新更改的二进制文件。 ```bash make build ``` **预期输出:** ``` Building... ✓ bin/hotplex-<os>-<arch> ``` **如果构建失败怎么办:** - 检查编译错误信息并修复代码问题 - 确认 Go 版本是否满足要求(1.26+) - 检查是否有缺少的依赖项 - 修复后重新运行 `make build` --- ### 步骤 2:验证二进制时间戳 确认刚构建的二进制确实比当前运行的版本新。 ```bash ls -lh ./bin/hotplex-$(go env GOOS)-$(go env GOARCH) ~/.local/bin/hotplex ``` **预期输出:** - `./bin/hotplex-<os>-<arch>`:最近时间戳(刚刚构建的) - `~/.local/bin/hotplex`:较旧时间戳(当前运行的版本) **为什么要验证:** - 确认构建成功生成了新文件 - 避免意外部署旧版本 - 建立更新前的基线对比 --- ### 步骤 3:停止服务 在替换二进制之前需要停止服务,这是因为运行中的进程会锁定二进制文件,导致替换失败。 ```bash hotplex service stop ``` **预期输出:** ``` ✓ Stopped service (user) ``` **如果服务未运行:** - 这很正常,继续到