阶段3: 文档更新(ARCHITECTURE/DEPLOY 摘除 STF 章节,STF_REMOVAL 标记代码完成+220 停容器待确认)
This commit is contained in:
+13
-26
@@ -17,15 +17,14 @@ python --version # 应输出 3.10+
|
||||
pip --version
|
||||
```
|
||||
|
||||
### 1.2 OpenSTF 服务
|
||||
### 1.2 设备池(已摘除 OpenSTF 依赖)
|
||||
|
||||
本项目依赖 OpenSTF 管理设备池。如已有 STF 服务,跳过本节。
|
||||
设备池由平台自身管理(SQLite `devices` 表 + 本机 adb 在线状态),**不再依赖 OpenSTF**。
|
||||
新增设备在管理后台「工具 → 设备池管理」添加(serial 形如 `100.100.10.x:5555`)。
|
||||
|
||||
STF 部署参考官方文档:https://github.com/DeviceFarmer/stf
|
||||
|
||||
**需要获取的信息**:
|
||||
- STF 服务地址(如 `http://192.168.20.220:7100`)
|
||||
- STF API Token(在 STF 个人设置 → API Keys 里生成)
|
||||
USB 设备(serial 无冒号)插在部署机(220)时,经 220 的 adb server 驱动:
|
||||
- 220 的 adb 容器需为 **host 网络模式**(5037 已监听所有网卡,含 Tailscale)
|
||||
- 平台配置 `USB_ADB_HOST`(默认 `100.100.10.1`)/ `USB_ADB_PORT`(默认 5037)
|
||||
|
||||
### 1.3 adb 工具
|
||||
|
||||
@@ -41,8 +40,9 @@ STF 部署参考官方文档:https://github.com/DeviceFarmer/stf
|
||||
|
||||
设备需满足:
|
||||
- 开启 **USB 调试**(设置 → 开发者选项)
|
||||
- 或通过 **adb 网络连接**(设置 → 开发者选项 → 无线调试,获取 IP:5555)
|
||||
- 已接入 STF 设备池(STF 显示 present=True, ready=True)
|
||||
- 转网络调试:USB 连上后 `adb -s <serial> tcpip 5555`(管理后台「adb 终端」有一键快捷命令)
|
||||
- 设备加入 Tailscale(同一账号,获得 100.100.10.x IP)
|
||||
- 在「工具 → 设备池管理」添加 `IP:5555`(自动尝试连接,任务运行时 u2 自动推送 atx-agent)
|
||||
|
||||
---
|
||||
|
||||
@@ -87,15 +87,9 @@ pip install -r requirements.txt
|
||||
|
||||
```ini
|
||||
# .env 示例
|
||||
STF_TOKEN=你的STF_API_Token
|
||||
WEB_SECRET_KEY=随机字符串(会话密钥,python -c "import secrets;print(secrets.token_hex(32))" 生成)
|
||||
TAILSCALE_API_KEY=你的Tailscale_API_key
|
||||
```
|
||||
|
||||
`config.py` 只改非密钥项,如 `STF_URL`:
|
||||
|
||||
```python
|
||||
STF_URL = "http://你的STF地址:端口"
|
||||
# USB_ADB_HOST=100.100.10.1 # 220 的 Tailscale IP(USB 设备远程 adb server,默认值已可用)
|
||||
```
|
||||
|
||||
其他配置按需调整:
|
||||
@@ -105,21 +99,14 @@ STF_URL = "http://你的STF地址:端口"
|
||||
| `WEB_HOST` | `0.0.0.0` | 仅本机访问改为 `127.0.0.1` |
|
||||
| `WEB_PORT` | `18050` | 端口冲突时修改 |
|
||||
| `ADB_PATH` | 自动识别 | 用自定义 adb 时修改 |
|
||||
| `STF_SSH_TARGET` | `[email protected]` | 维护页"一键重启 STF 容器"与工具页"STF 设备管理"的 SSH 目标 |
|
||||
| `STF_SSH_PASSWORD` | (空) | SSH 密码认证(.env 配置后走 paramiko 密码登录,跨平台);留空则退回系统 ssh 免密密钥(BatchMode) |
|
||||
| `STF_DOCKER_CONTAINER` | `stf` | 220 上 STF Docker 容器名(`docker ps` 查看) |
|
||||
| `STF_ADB_CONTAINER` | `adb` | 220 上 adb Docker 容器名(STF 设备管理执行 `docker exec adb adb ...`) |
|
||||
| `STF_SCRIPT_PATH` | `/mnt/data/openstf/connect_devices.sh` | STF 设备池脚本路径(工具页增删设备会读写其 DEVICES 列表) |
|
||||
| `USB_ADB_HOST` | `100.100.10.1` | USB 设备所在部署机(220)的 Tailscale IP |
|
||||
| `USB_ADB_PORT` | `5037` | 220 adb 容器监听端口(host 网络模式) |
|
||||
| `TAILSCALE_TAILNET` | 按邮箱前缀 | tailnet 名称/ID(个人账号一般为登录邮箱前缀) |
|
||||
|
||||
> **未配置 `WEB_SECRET_KEY`**:启动时随机生成(每次重启登录态失效,生产务必配置固定值)。
|
||||
> **工具页 Tailscale 管理前置**:`.env` 写入 `TAILSCALE_API_KEY` 后重启服务;
|
||||
> 未配置时管理分区显示明确提示,不影响其他功能。
|
||||
|
||||
> **维护页 STF 重启 / 工具页 STF 设备管理前置**:需能 SSH 到部署机——两种方式任选:
|
||||
> 1. `.env` 配置 `STF_SSH_PASSWORD` 走密码认证(paramiko,无需额外工具,推荐)
|
||||
> 2. 免密密钥:本机公钥加入目标机 `authorized_keys`
|
||||
> 且 `STF_DOCKER_CONTAINER`/`STF_ADB_CONTAINER` 与真实容器名一致;未配置好时按钮会返回明确错误。
|
||||
> (历史遗留的 `STF_URL`/`STF_TOKEN`/`STF_SSH_*` 等配置已废弃,代码不再读取。)
|
||||
|
||||
### 2.4 启动服务
|
||||
|
||||
|
||||
Reference in New Issue
Block a user