# DeployConfig **Repository Path**: public_11/DeployConfig ## Basic Information - **Project Name**: DeployConfig - **Description**: No description available - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-10 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # deploy.sh 脚本测试步骤文档 ## 1. 测试环境准备 ### 1.1 系统要求 - 操作系统:Linux (Ubuntu/Debian/CentOS)、macOS - Docker:已安装并运行 - Docker Compose:已安装 - unzip:已安装 - Bash:4.0+ ### 1.2 测试文件准备 1. **deploy.sh**:确保脚本有执行权限 ```bash chmod +x deploy.sh ``` 2. **docker-compose.yml**:确保当前目录存在此文件 3. **web 目录**:确保存在 web 目录,且包含 dist.zip 文件(用于测试解压功能) ## 2. 测试步骤 ### 2.1 基本功能测试 | 测试编号 | 测试命令 | 测试内容 | 预期结果 | | -------- | -------------------------- | ------------ | ------------------------------------ | | T001 | `bash deploy.sh --help` | 显示帮助信息 | 显示脚本使用帮助,包含命令说明和示例 | | T002 | `bash deploy.sh --version` | 显示版本信息 | 显示脚本版本号 | | T003 | `bash deploy.sh status` | 显示服务状态 | 显示所有服务的状态信息 | ### 2.2 服务管理测试 | 测试编号 | 测试命令 | 测试内容 | 预期结果 | | -------- | ---------------------------- | ---------------- | ---------------------------------------- | | T004 | `bash deploy.sh start all` | 启动所有服务 | 启动所有服务,尝试解压 web 目录 | | T005 | `bash deploy.sh stop all` | 停止所有服务 | 停止所有服务 | | T006 | `bash deploy.sh restart all` | 重启所有服务 | 重启所有服务,尝试解压 web 目录 | | T007 | `bash deploy.sh start` | 服务选择启动 | 显示服务列表,让用户选择要启动的服务 | | T008 | `bash deploy.sh stop` | 服务选择停止 | 显示服务列表,让用户选择要停止的服务 | | T009 | `bash deploy.sh restart` | 服务选择重启 | 显示服务列表,让用户选择要重启的服务 | | T010 | `bash deploy.sh logs` | 服务选择日志 | 显示服务列表,让用户选择要查看日志的服务 | | T011 | `bash deploy.sh logs all` | 查看所有服务日志 | 查看所有服务的日志 | ### 2.3 具体服务测试 | 测试编号 | 测试命令 | 测试内容 | 预期结果 | | -------- | ---------------------------- | ----------------- | -------------------------------- | | T012 | `bash deploy.sh start web` | 启动 web 服务 | 启动 web 服务,尝试解压 web 目录 | | T013 | `bash deploy.sh stop web` | 停止 web 服务 | 停止 web 服务 | | T014 | `bash deploy.sh restart web` | 重启 web 服务 | 重启 web 服务,尝试解压 web 目录 | | T015 | `bash deploy.sh logs web` | 查看 web 服务日志 | 查看 web 服务的日志 | ### 2.4 错误处理测试 | 测试编号 | 测试命令 | 测试内容 | 预期结果 | | -------- | ------------------------------ | ---------- | ---------------------------- | | T016 | `bash deploy.sh start invalid` | 无效服务名 | 显示服务列表,让用户重新选择 | | T017 | `bash deploy.sh` | 无参数运行 | 显示服务列表,让用户选择 | ### 2.5 解压功能测试 | 测试编号 | 测试命令 | 测试内容 | 预期结果 | | -------- | ----------------------------------------- | ------------ | ------------------------------------- | | T018 | `bash deploy.sh start web` | 测试自动解压 | 自动解压 web/dist.zip 文件到 web 目录 | | T019 | 手动解压后运行 `bash deploy.sh start web` | 测试手动解压 | 直接使用手动解压后的目录 | ## 3. 测试注意事项 1. **解压测试**: - 当执行涉及 web 服务的命令时,脚本会尝试自动解压 `web/dist.zip` 文件 - 如果解压失败,脚本会提示手动解压,这是正常的预期行为 - 手动解压后,脚本应该能正确使用解压后的目录 2. **容器冲突**: - 如果测试过程中遇到容器名称冲突的错误,这是 Docker 相关的问题 - 可以通过 `docker rm` 命令删除冲突的容器 3. **权限问题**: - 确保脚本有执行权限 - 确保当前用户有足够的权限执行 Docker 命令 4. **网络问题**: - 脚本会检查更新,需要确保服务器有网络连接 - 如果网络不可用,脚本会跳过更新检查,继续执行 5. **日志查看**: - 使用 `logs` 命令查看服务日志时,会进入交互式模式 - 需要按 `Ctrl+C` 退出日志查看 6. **超时问题**: - 解压操作有 30 秒的超时限制 - 如果解压时间超过 30 秒,脚本会提示手动解压 ## 4. 测试结果记录 | 测试编号 | 测试命令 | 执行结果 | 备注 | | -------- | ----------------------------------------- | -------- | ---- | | T001 | `bash deploy.sh --help` | | | | T002 | `bash deploy.sh --version` | | | | T003 | `bash deploy.sh status` | | | | T004 | `bash deploy.sh start all` | | | | T005 | `bash deploy.sh stop all` | | | | T006 | `bash deploy.sh restart all` | | | | T007 | `bash deploy.sh start` | | | | T008 | `bash deploy.sh stop` | | | | T009 | `bash deploy.sh restart` | | | | T010 | `bash deploy.sh logs` | | | | T011 | `bash deploy.sh logs all` | | | | T012 | `bash deploy.sh start web` | | | | T013 | `bash deploy.sh stop web` | | | | T014 | `bash deploy.sh restart web` | | | | T015 | `bash deploy.sh logs web` | | | | T016 | `bash deploy.sh start invalid` | | | | T017 | `bash deploy.sh` | | | | T018 | `bash deploy.sh start web` | | | | T019 | 手动解压后运行 `bash deploy.sh start web` | | | ## 5. 故障排查 ### 5.1 常见错误及解决方案 | 错误信息 | 可能原因 | 解决方案 | | -------------------------------- | ------------------------------- | ----------------------------------- | | `无法创建临时目录,跳过更新检查` | 权限不足 | 确保当前用户有创建临时目录的权限 | | `解压超时(超过30秒)` | 解压文件过大或系统性能问题 | 手动解压文件到指定目录 | | `自动解压失败或解压后目录为空` | 编码问题或文件损坏 | 手动解压文件到指定目录 | | `容器名称冲突` | 容器已存在 | 使用 `docker rm` 命令删除冲突的容器 | | `服务启动失败` | Docker 配置问题或依赖服务未启动 | 检查 Docker 配置和依赖服务状态 | ### 5.2 日志查看 - **脚本执行日志**:直接查看终端输出 - **Docker 容器日志**:使用 `bash deploy.sh logs <服务名>` 命令 - **Docker 系统日志**:根据操作系统查看 Docker 日志 ## 6. 测试结论 | 测试结果 | 说明 | | -------- | -------------------------------------------- | | 通过 | 所有测试用例都能正常执行,脚本功能符合预期 | | 部分通过 | 大部分测试用例能正常执行,少量功能存在问题 | | 未通过 | 大部分测试用例执行失败,脚本功能存在严重问题 | ## 7. 版本信息 - **脚本版本**:1.1.0 - **测试日期**:YYYY-MM-DD - **测试环境**: - 操作系统: - Docker 版本: - Docker Compose 版本: - Bash 版本: --- **备注**:此测试文档用于验证 deploy.sh 脚本的功能完整性和可靠性,确保其在不同环境下能够正常工作。测试过程中应记录详细的测试结果,以便及时发现和解决问题。