Add SystemTest Agent and Controller
This commit is contained in:
commit
53f523f187
31 files changed
+9150
No files matched your search
@@ -0,0 +1,69 @@
|
||||
# SystemTest-Agent
|
||||
|
||||
P0-02 被控端最小可用实现,首次启动向主控注册并保存 token,后续启动使用本地 token 发送 Bearer 心跳并轮询任务。
|
||||
|
||||
## 一键启动
|
||||
|
||||
PowerShell:
|
||||
|
||||
```powershell
|
||||
.\start_agent.ps1
|
||||
```
|
||||
|
||||
CMD:
|
||||
|
||||
```bat
|
||||
start_agent.bat
|
||||
```
|
||||
|
||||
默认会在局域网内自动发现 `8001/8000` 端口上的主控。也可以手工指定主控地址:
|
||||
|
||||
```powershell
|
||||
.\start_agent.ps1 -ControllerUrl http://<controller-lan-ip>:8001
|
||||
```
|
||||
|
||||
```bat
|
||||
start_agent.bat http://<controller-lan-ip>:8001
|
||||
```
|
||||
|
||||
如果在另一台局域网设备上双击后窗口闪退,常见原因是:
|
||||
|
||||
- 该设备访问不到主控机的 `8001` 端口,需放行主控机防火墙或手工传入 `http://<主控机局域网IP>:8001`
|
||||
- 该设备没有安装 Python 3,或 `python/py` 不在 PATH
|
||||
- 被控本地服务端口 `18081` 已被占用
|
||||
|
||||
新版 `start_agent.bat` 遇到这些错误会暂停并显示原因。
|
||||
|
||||
默认被控本地服务端口与 `Agent-S-main/bridge_config.yaml` 的 `log_web_port` 保持一致:
|
||||
|
||||
- Local health: `http://127.0.0.1:18081/health`
|
||||
- 环境变量:`AGENT_LOCAL_SERVICE_PORT=18081`
|
||||
|
||||
## 状态持久化
|
||||
|
||||
首次注册成功后写入 `data/agent_state.json`:
|
||||
|
||||
- `agent_id`
|
||||
- `public_id`
|
||||
- `token`
|
||||
- `registered_at`
|
||||
- `controller_url`
|
||||
|
||||
重启时如果该文件存在且机器标识一致,被控端不会重复注册,会直接用 Bearer token 发送心跳和领任务请求。
|
||||
|
||||
## 部署形态
|
||||
|
||||
`AGENT_DEPLOYMENT_TYPE=auto` 时自动判断物理机/虚拟机;也可显式设置:
|
||||
|
||||
- `physical_machine`
|
||||
- `virtual_machine`
|
||||
- `box_physical`
|
||||
- `box_virtual`
|
||||
|
||||
## 已完成的 P0-02 验收点
|
||||
|
||||
- 首次启动自动注册
|
||||
- token 保存到本地状态文件
|
||||
- 后续启动不重复注册
|
||||
- 心跳和领任务请求使用 `Authorization: Bearer <token>`
|
||||
- 注册与心跳上报物理机/虚拟机部署形态
|
||||
Reference in new issue
Block a user