Files
Nexus/docs/changelog/2026-06-08-batch-install-agent-skip-version.md
T
2026-07-08 22:31:31 +08:00

1.3 KiB
Raw Blame History

2026-06-08 — 批量安装 Agent 已安装且版本足够则跳过

摘要

批量/单机「安装 Agent」时:若子机已安装且 Agent 版本 不低于 主站 web/agent/agent.py 中的版本,则跳过 SSH 安装;仅当未安装或版本更低时才执行 install.sh

动机

批量勾选已部署 Agent 的服务器会重复跑完整安装脚本,耗时长且可能短暂中断 Agent。

涉及文件

  • server/utils/agent_version.py — 主站版本 SSOT + 版本比较
  • server/application/server_batch_common.pyagent_install_skip_result、Redis/SSH 版本探测
  • server/application/services/server_batch_service.py_run_install_agent 跳过逻辑
  • server/api/servers.py — 单机 install-agent 对齐
  • tests/test_agent_version.py

迁移 / 重启

  • 无 DB 变更;需重启 API

行为

子机状态 动作
无 agent_api_key 且无 agent_version 执行安装
已安装,版本 ≥ 主站 跳过(successstdout 说明)
已安装,版本 < 主站 执行安装(等同升级)

版本来源优先级:Redis heartbeat:{id} → MySQL agent_version → SSH 读取 /opt/nexus-agent/agent.py

验证

pytest tests/test_agent_version.py -q
bash scripts/local_verify.sh