# 🔍 检测现有版本功能 ## 问题场景 如果你的服务器上已经有部署的版本(在 `/var/www/app/`),但版本管理系统中没有记录,可以使用「检测当前版本」功能。 --- ## 🚀 使用步骤 ### 1. 启动部署工具 ```bash cd AdminTool python deploy_tool.py ``` ### 2. 配置服务器信息 在「服务器配置」区域填写: - 服务器地址 - SSH 端口 - 用户名 - 密码 点击「保存配置」 ### 3. 点击「🔍 检测当前版本」 位置:「版本历史管理」区域的操作按钮 ### 4. 确认操作 系统会: - ✅ 扫描 `/var/www/app/` 目录 - ✅ 计算文件大小 - ✅ 获取最后修改时间 - ✅ 创建版本记录(格式:`existing_YYYYMMDD_HHMMSS`) - ✅ 备份到 `/var/www/app_versions/` - ✅ 保存到版本管理系统 ### 5. 查看结果 检测完成后: - 版本历史列表会显示检测到的版本 - 该版本会被标记为 ✅ 当前版本 - 服务器上会保存一份备份 --- ## 📋 示例 ### 检测前 ``` 版本历史列表: (暂无记录) ``` ### 点击「检测当前版本」后 ``` 版本历史列表: ✅ existing_20231220_143025 (当前) 部署时间: 2023-12-20 14:30:25 大小: 12.3 MB 备注: 检测到的现有版本(2023-12-20) ``` --- ## 💡 注意事项 1. **不会影响线上服务** - 只读取文件信息 - 创建备份副本 - 不修改运行中的文件 2. **只能检测一次** - 如果已有版本记录,建议先查看现有记录 - 如需重新检测,可先删除旧记录 3. **需要 SSH 权限** - 需要读取 `/var/www/app/` 目录 - 需要写入 `/var/www/app_versions/` 目录 --- ## ❓ 常见问题 ### Q: 检测到的版本号为什么是 `existing_...` 格式? **A**: 为了区分: - `existing_YYYYMMDD_HHMMSS` = 检测到的现有版本 - `YYYYMMDD_HHMMSS` = 通过工具部署的版本 - `backup_YYYYMMDD_HHMMSS` = 自动备份的版本 ### Q: 检测后可以回滚吗? **A**: 可以!检测后的版本和部署的版本功能完全一样,都可以回滚。 ### Q: 如果 /var/www/app/ 为空会怎样? **A**: 会提示「目录为空或不存在」,不会创建记录。 ### Q: 检测失败怎么办? **A**: 检查: 1. SSH 连接是否正常 2. `/var/www/app/` 目录是否存在 3. 是否有读取权限 --- ## 🎯 适用场景 1. **首次使用工具** - 服务器上已有部署的版本 - 想将现有版本纳入版本管理 2. **迁移到新工具** - 之前手动部署的版本 - 想使用版本管理功能 3. **重新初始化** - 版本记录丢失 - 需要重新建立记录 --- **开始使用:`python deploy_tool.py`,点击「🔍 检测当前版本」** 🔍