Files
happy-life-star/cleanup-project.sh
T
peanut 26f0cdd760 feat: 完成项目整理优化和生产环境配置
🧹 项目结构优化:
- 删除重复和过时的文件
- 整理文档到docs目录结构
- 优化配置文件到configs目录
- 创建清晰的PROJECT_STRUCTURE.md

🔧 中间件配置:
- 重启MySQL/Redis/Nacos中间件
- 使用现有数据目录,确保数据完整性
- 统一密码配置: MySQL(EmotionMuseum2025*#), Nacos(Peanut2817*#)

🌐 Nginx配置:
- 配置前端路径: /emotion-museum
- 配置API代理: /api/ -> 19000
- 配置WebSocket代理: /ws/ -> 19007
- 添加健康检查端点: /health

📋 部署脚本优化:
- restart-middleware.sh - 中间件重启脚本
- setup-nginx.sh - Nginx配置脚本
- cleanup-project.sh - 项目清理脚本
- one-click-deploy.sh - 一键部署脚本

📖 文档完善:
- DEPLOYMENT_FINAL.md - 最终部署指南
- PROJECT_STRUCTURE.md - 项目结构说明
- 完整的运维和故障排查指南

 生产环境就绪:
- 中间件: MySQL/Redis/Nacos 运行正常
- Nginx: 反向代理配置完成
- 访问地址: http://47.111.10.27/emotion-museum
- 健康检查: http://47.111.10.27/health

🎯 项目现状:
- 10个微服务模块完整
- 前后端分离架构
- 容器化部署
- 统一配置管理
- 完整的部署和运维体系
2025-07-21 13:55:36 +08:00

294 lines
8.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 项目文件清理脚本
# 作者: emotion-museum
# 日期: 2025-07-21
set -e
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() {
echo -e "${BLUE}[INFO]${NC} $1"
}
log_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
log_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 备份重要文件
backup_important_files() {
log_info "备份重要文件..."
mkdir -p .backup/$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=".backup/$(date +%Y%m%d_%H%M%S)"
# 备份重要的配置文件
cp -r backend/emotion-*/src/main/resources/ "$BACKUP_DIR/resources/" 2>/dev/null || true
cp docker-compose*.yml "$BACKUP_DIR/" 2>/dev/null || true
cp *.md "$BACKUP_DIR/" 2>/dev/null || true
log_success "重要文件已备份到: $BACKUP_DIR"
}
# 删除重复和过时的文件
cleanup_duplicate_files() {
log_info "清理重复和过时的文件..."
# 删除重复的部署脚本
rm -f deploy-aliyun*.sh deploy-custom.sh deploy-existing-docker.sh deploy-final.sh deploy.sh
rm -f manage*.sh server-install.sh quick-deploy.sh
# 删除重复的文档
rm -f CLAUDE.md CUSTOM_DEPLOYMENT.md DEPLOY.md DEPLOYMENT.md DEPLOYMENT_GUIDE.md
rm -f SERVER_DEPLOYMENT_CHECKLIST.md
# 删除旧的docker-compose文件,保留最新的
rm -f docker-compose.custom.yml
# 删除旧的web目录
rm -rf web-bak
# 删除旧的backend目录
rm -rf emotion-museum-backend
# 删除iOS项目(如果不需要)
rm -rf EmotionMuseum
# 删除构建产物目录
rm -rf build-output packages
log_success "重复文件清理完成"
}
# 清理backend目录
cleanup_backend() {
log_info "清理backend目录..."
cd backend
# 删除重复的脚本
rm -f deploy-test.sh dev-auto.sh dev-start.sh start-services.sh stop-services.sh
rm -f test-auth.sh update-nacos*.sh verify-*.sh
# 删除重复的文档
rm -f README-*.md Nacos配置*.md emotion-websocket-*.md 后端模块验证报告.md
rm -f 数据库*.md 认证模块重构总结.md 项目文件清理总结.md
# 删除日志目录
rm -rf logs
# 删除SQL文件(保留在统一位置)
rm -f verify-database-script.sql
cd ..
log_success "backend目录清理完成"
}
# 整理文档结构
organize_docs() {
log_info "整理文档结构..."
# 创建docs目录
mkdir -p docs/{deployment,architecture,database}
# 移动部署相关文档
mv backend/Jenkins-Pipeline配置.md docs/deployment/ 2>/dev/null || true
mv backend/Jenkins部署说明.md docs/deployment/ 2>/dev/null || true
mv 部署脚本使用说明.md docs/deployment/ 2>/dev/null || true
# 移动架构相关文档
mv "Spring Cloud Alibaba微服务架构设计.md" docs/architecture/ 2>/dev/null || true
mv 技术架构完善建议.md docs/architecture/ 2>/dev/null || true
# 移动数据库相关文档
mv backend/sql docs/database/ 2>/dev/null || true
# 保留核心文档在根目录
# README.md, MVP功能需求文档.md, 情绪博物馆*.md 等
log_success "文档结构整理完成"
}
# 优化配置文件
optimize_configs() {
log_info "优化配置文件..."
# 创建统一的配置目录
mkdir -p configs/{nginx,docker,env}
# 移动nginx配置
mv web-flowith/nginx.conf configs/nginx/ 2>/dev/null || true
mv deploy/nginx/* configs/nginx/ 2>/dev/null || true
# 移动docker配置
mv docker-compose*.yml configs/docker/ 2>/dev/null || true
# 删除空的deploy目录
rm -rf deploy
log_success "配置文件优化完成"
}
# 创建新的项目结构说明
create_structure_doc() {
log_info "创建项目结构说明..."
cat > PROJECT_STRUCTURE.md << 'EOF'
# 情感博物馆项目结构
## 📁 目录结构
```
emotion-museum/
├── 📁 backend/ # 后端微服务
│ ├── 📁 emotion-gateway/ # API网关服务
│ ├── 📁 emotion-user/ # 用户管理服务
│ ├── 📁 emotion-ai/ # AI聊天服务
│ ├── 📁 emotion-auth/ # 认证服务
│ ├── 📁 emotion-record/ # 记录管理服务
│ ├── 📁 emotion-growth/ # 成长跟踪服务
│ ├── 📁 emotion-explore/ # 探索服务
│ ├── 📁 emotion-reward/ # 奖励服务
│ ├── 📁 emotion-websocket/ # WebSocket服务
│ ├── 📁 emotion-stats/ # 统计服务
│ ├── 📁 emotion-common/ # 公共模块
│ ├── 🔧 build-all.sh # 构建脚本
│ ├── 🔧 deploy-all.sh # 综合部署脚本
│ ├── 🔧 deploy-remote.sh # 远程部署脚本
│ └── 📄 pom.xml # Maven父项目配置
├── 📁 web-flowith/ # 前端Vue项目
│ ├── 📁 src/ # 源代码
│ ├── 📁 public/ # 静态资源
│ ├── 🔧 deploy.sh # 前端部署脚本
│ └── 📄 package.json # 前端依赖配置
├── 📁 docs/ # 项目文档
│ ├── 📁 deployment/ # 部署相关文档
│ ├── 📁 architecture/ # 架构设计文档
│ └── 📁 database/ # 数据库相关文档
├── 📁 configs/ # 配置文件
│ ├── 📁 nginx/ # Nginx配置
│ ├── 📁 docker/ # Docker配置
│ └── 📁 env/ # 环境配置
├── 🔧 one-click-deploy.sh # 一键部署脚本
├── 🔧 restart-middleware.sh # 中间件重启脚本
├── 🔧 cleanup-project.sh # 项目清理脚本
└── 📄 README.md # 项目说明
```
## 🚀 快速开始
### 1. 一键部署
```bash
# 完整部署(前端+后端)
./one-click-deploy.sh
# 仅部署后端
./one-click-deploy.sh backend
# 仅部署前端
./one-click-deploy.sh frontend
# 健康检查
./one-click-deploy.sh check
```
### 2. 中间件管理
```bash
# 重启中间件(MySQL, Redis, Nacos
./restart-middleware.sh
```
### 3. 分步部署
```bash
# 构建后端
cd backend && ./build-all.sh
# 部署后端到远程
cd backend && ./deploy-remote.sh
# 部署前端
cd web-flowith && ./deploy.sh
```
## 📋 服务端口
| 服务 | 端口 | 描述 |
|------|------|------|
| emotion-gateway | 19000 | API网关 |
| emotion-user | 19001 | 用户服务 |
| emotion-ai | 19002 | AI服务 |
| emotion-record | 19003 | 记录服务 |
| emotion-growth | 19004 | 成长服务 |
| emotion-explore | 19005 | 探索服务 |
| emotion-reward | 19006 | 奖励服务 |
| emotion-websocket | 19007 | WebSocket服务 |
| emotion-auth | 19008 | 认证服务 |
| emotion-stats | 19009 | 统计服务 |
## 🔧 中间件端口
| 服务 | 端口 | 描述 |
|------|------|------|
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
| Nacos | 8848 | 注册中心 |
## 📖 文档链接
- [部署指南](docs/deployment/)
- [架构设计](docs/architecture/)
- [数据库设计](docs/database/)
EOF
log_success "项目结构说明创建完成"
}
# 主函数
main() {
log_info "🧹 开始项目文件清理和整理..."
# 确认操作
echo "⚠️ 此操作将删除重复和过时的文件,是否继续?(y/N)"
read -r confirm
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
log_warning "操作已取消"
exit 0
fi
backup_important_files
cleanup_duplicate_files
cleanup_backend
organize_docs
optimize_configs
create_structure_doc
log_success "🎉 项目清理和整理完成!"
echo ""
echo "📋 清理总结:"
echo " ✅ 删除了重复的部署脚本"
echo " ✅ 删除了过时的文档文件"
echo " ✅ 整理了文档结构到docs目录"
echo " ✅ 优化了配置文件到configs目录"
echo " ✅ 创建了PROJECT_STRUCTURE.md"
echo ""
echo "📁 新的项目结构请查看: PROJECT_STRUCTURE.md"
}
# 执行主函数
main "$@"