diff --git a/deploy.sh b/deploy.sh deleted file mode 100644 index 24565f2..0000000 --- a/deploy.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -# 创赢未来报名评分系统 - 生产环境部署脚本 -# 用法: ./deploy.sh [环境变量] - -set -e - -# 颜色定义 -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -NC='\033[0m' # No Color - -# 打印带颜色的信息 -print_info() { - echo -e "${BLUE}[INFO]${NC} $1" -} - -print_success() { - echo -e "${GREEN}[SUCCESS]${NC} $1" -} - -print_warning() { - echo -e "${YELLOW}[WARNING]${NC} $1" -} - -print_error() { - echo -e "${RED}[ERROR]${NC} $1" -} - -# 检查环境 -print_info "检查 Docker 环境..." -if ! command -v docker &> /dev/null; then - print_error "Docker 未安装,请先安装 Docker" - exit 1 -fi - -if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then - print_error "Docker Compose 未安装,请先安装 Docker Compose" - exit 1 -fi - -# 检查 .env 文件 -if [ ! -f .env ]; then - print_warning ".env 文件不存在,将使用默认配置" - print_warning "建议复制 .env.example 为 .env 并修改配置" -fi - -# 显示部署信息 -print_info "================================" -print_info "创赢未来报名评分系统 - 部署脚本" -print_info "================================" - -# 拉取最新代码(如果是 git 仓库) -if [ -d .git ]; then - print_info "拉取最新代码..." - git pull || print_warning "Git pull 失败,使用本地代码继续" -fi - -# 停止旧容器 -print_info "停止旧容器..." -docker-compose down --remove-orphans - -# 删除旧镜像(可选) -print_info "清理旧镜像..." -docker-compose rm -f - -# 构建镜像 -print_info "构建 Docker 镜像..." -docker-compose build --no-cache - -# 启动服务 -print_info "启动服务..." -docker-compose up -d - -# 等待服务启动 -print_info "等待服务启动..." -sleep 10 - -# 检查服务状态 -print_info "检查服务状态..." -if docker-compose ps | grep -q "Up"; then - print_success "服务启动成功!" - echo "" - print_info "访问地址:" - print_success " - 前端: http://localhost" - print_success " - 后端 API: http://localhost:8000/api/" - print_success " - 后台管理: http://localhost:8000/admin/" - echo "" - print_info "查看日志: docker-compose logs -f" -else - print_error "服务启动失败,请检查日志: docker-compose logs" - exit 1 -fi diff --git a/deploy_market_page 2.sh b/deploy_market_page 2.sh deleted file mode 100644 index 73fc6d0..0000000 --- a/deploy_market_page 2.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# 定义关键变量,方便后续维护修改 -TARGET_DIR="~/data/dev/market_page" -SUDO_PASSWORD="123quant-speed" - -# 脚本执行出错时立即退出 -set -e - -# 1. 切换到目标目录(先解析 ~ 为实际家目录) -echo "===== 切换到目标目录: $TARGET_DIR =====" -RESOLVED_DIR=$(eval echo $TARGET_DIR) -cd $RESOLVED_DIR || { - echo "错误:目录 $RESOLVED_DIR 不存在!" - exit 1 -} - -# 2. 停止并移除 Docker 容器(自动输入 sudo 密码) -echo -e "\n===== 停止 Docker 容器 =====" -echo $SUDO_PASSWORD | sudo -S docker compose down - -# 3. 删除 Docker 镜像(说明:这里默认删除 compose 关联的镜像,也可指定镜像名) -echo -e "\n===== 删除 Docker 镜像 =====" -# 方式1:删除 compose.yml 中定义的所有镜像(推荐) -echo $SUDO_PASSWORD | sudo -S docker compose down --rmi all -# 方式2:如果你想删除指定镜像,替换上面这行(示例,需修改为你的镜像名) -# echo $SUDO_PASSWORD | sudo -S docker rmi -f your-image-name:tag - -# 4. 拉取 Git 最新代码 -echo -e "\n===== 拉取 Git 代码 =====" -git pull || { - echo "警告:Git pull 失败(可能是本地有未提交的修改),脚本继续执行..." -} - -# 5. 重新启动 Docker 容器(后台运行) -echo -e "\n===== 启动 Docker 容器 =====" -echo $SUDO_PASSWORD | sudo -S docker compose up -d - -echo -e "\n===== 操作完成!=====" \ No newline at end of file diff --git a/deploy_market_page.sh b/deploy_market_page.sh deleted file mode 100644 index 73fc6d0..0000000 --- a/deploy_market_page.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# 定义关键变量,方便后续维护修改 -TARGET_DIR="~/data/dev/market_page" -SUDO_PASSWORD="123quant-speed" - -# 脚本执行出错时立即退出 -set -e - -# 1. 切换到目标目录(先解析 ~ 为实际家目录) -echo "===== 切换到目标目录: $TARGET_DIR =====" -RESOLVED_DIR=$(eval echo $TARGET_DIR) -cd $RESOLVED_DIR || { - echo "错误:目录 $RESOLVED_DIR 不存在!" - exit 1 -} - -# 2. 停止并移除 Docker 容器(自动输入 sudo 密码) -echo -e "\n===== 停止 Docker 容器 =====" -echo $SUDO_PASSWORD | sudo -S docker compose down - -# 3. 删除 Docker 镜像(说明:这里默认删除 compose 关联的镜像,也可指定镜像名) -echo -e "\n===== 删除 Docker 镜像 =====" -# 方式1:删除 compose.yml 中定义的所有镜像(推荐) -echo $SUDO_PASSWORD | sudo -S docker compose down --rmi all -# 方式2:如果你想删除指定镜像,替换上面这行(示例,需修改为你的镜像名) -# echo $SUDO_PASSWORD | sudo -S docker rmi -f your-image-name:tag - -# 4. 拉取 Git 最新代码 -echo -e "\n===== 拉取 Git 代码 =====" -git pull || { - echo "警告:Git pull 失败(可能是本地有未提交的修改),脚本继续执行..." -} - -# 5. 重新启动 Docker 容器(后台运行) -echo -e "\n===== 启动 Docker 容器 =====" -echo $SUDO_PASSWORD | sudo -S docker compose up -d - -echo -e "\n===== 操作完成!=====" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 473980e..dec5140 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ services: backend: build: ./backend + container_name: cywl-scoring-backend command: sh -c "python manage.py collectstatic --noinput && python manage.py migrate && gunicorn --bind 0.0.0.0:8876 --access-logfile - --error-logfile - config.wsgi:application" volumes: - ./backend:/app @@ -19,6 +20,7 @@ services: context: ./frontend args: - VITE_API_URL=/api + container_name: cywl-scoring-frontend ports: - "8890:8890" environment: diff --git a/run-local.sh b/run-local.sh deleted file mode 100644 index 98e5f4a..0000000 --- a/run-local.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# 本地运行脚本(不使用 Docker) - -echo "===== 启动创赢未来评分系统(本地模式)=====" -echo "" - -# 检查端口占用 -echo "检查端口..." -lsof -ti:8876 | xargs kill -9 2>/dev/null || true -lsof -ti:5173 | xargs kill -9 2>/dev/null || true - -# 启动后端 -echo "" -echo "===== 启动后端服务 =====" -cd backend -source venv/bin/activate 2>/dev/null || echo "请确保虚拟环境已创建" -python manage.py migrate --check 2>/dev/null || echo "需要运行: python manage.py migrate" -python manage.py runserver 0.0.0.0:8876 & -BACKEND_PID=$! -echo "后端 PID: $BACKEND_PID" -cd .. - -# 等待后端启动 -sleep 3 - -# 启动前端 -echo "" -echo "===== 启动前端服务 =====" -cd frontend -npm run dev & -FRONTEND_PID=$! -echo "前端 PID: $FRONTEND_PID" -cd .. - -echo "" -echo "===== 服务已启动 =====" -echo "前端: http://localhost:5173" -echo "后端: http://localhost:8876" -echo "API文档: http://localhost:8876/api/docs/" -echo "后台: http://localhost:8876/admin/" -echo "" -echo "按 Ctrl+C 停止服务" - -# 捕获终止信号 - trap "echo ''; echo '正在停止服务...'; kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit 0" INT - -# 保持运行 -wait diff --git a/start-local.sh b/start-local.sh deleted file mode 100755 index d0f3612..0000000 --- a/start-local.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/bash - -echo "========================================" -echo " 创赢未来评分系统 - 本地启动脚本" -echo "========================================" -echo "" - -# 函数:检查端口并释放 -check_port() { - local port=$1 - local pid=$(lsof -ti:$port 2>/dev/null) - if [ -n "$pid" ]; then - echo "端口 $port 被占用,正在释放..." - kill -9 $pid 2>/dev/null || true - sleep 1 - fi -} - -# 释放端口 -check_port 8876 -check_port 5173 - -# 检查环境 -echo "✅ 检查环境..." - -# 检查后端虚拟环境 -if [ ! -d "backend/venv" ]; then - echo "❌ 后端虚拟环境不存在,正在创建..." - cd backend - python3 -m venv venv - source venv/bin/activate - pip install -r requirements.txt - cd .. -else - echo "✅ 后端虚拟环境已存在" -fi - -# 检查前端依赖 -if [ ! -d "frontend/node_modules" ]; then - echo "❌ 前端依赖不存在,正在安装..." - cd frontend - npm install - cd .. -else - echo "✅ 前端依赖已存在" -fi - -echo "" -echo "========================================" -echo " 启动服务" -echo "========================================" -echo "" - -# 启动后端 -echo "🚀 启动后端服务 (http://localhost:8876)" -cd backend -source venv/bin/activate -python manage.py migrate 2>/dev/null || echo "迁移可能需要手动执行" -python manage.py runserver 0.0.0.0:8876 > /tmp/backend.log 2>&1 & -BACKEND_PID=$! -echo " 后端 PID: $BACKEND_PID" -echo " 日志: /tmp/backend.log" -cd .. - -# 等待后端启动 -sleep 3 - -# 启动前端 -echo "" -echo "🚀 启动前端服务 (http://localhost:5173)" -cd frontend -npm run dev > /tmp/frontend.log 2>&1 & -FRONTEND_PID=$! -echo " 前端 PID: $FRONTEND_PID" -echo " 日志: /tmp/frontend.log" -cd .. - -echo "" -echo "========================================" -echo " 服务已启动!" -echo "========================================" -echo "" -echo "📱 前端页面: http://localhost:5173" -echo "🔧 后端 API: http://localhost:8876" -echo "📚 API文档: http://localhost:8876/api/docs/" -echo "⚙️ 后台管理: http://localhost:8876/admin/" -echo "" -echo "💡 查看日志:" -echo " tail -f /tmp/backend.log" -echo " tail -f /tmp/frontend.log" -echo "" -echo "🛑 停止服务: 按 Ctrl+C" -echo "" - -# 保存 PID -echo "$BACKEND_PID $FRONTEND_PID" > /tmp/scoring_pids - -# 捕获终止信号 -cleanup() { - echo "" - echo "========================================" - echo " 正在停止服务..." - echo "========================================" - kill $BACKEND_PID $FRONTEND_PID 2>/dev/null || true - sleep 1 - echo "✅ 服务已停止" - rm -f /tmp/scoring_pids - exit 0 -} -trap cleanup INT TERM - -# 等待 -wait