diff --git a/deploy.sh b/deploy.sh index 466f7f9..abf59fc 100755 --- a/deploy.sh +++ b/deploy.sh @@ -11,26 +11,55 @@ PYTHON_VERSION="python3" echo "🚀 开始部署 $PROJECT_NAME..." +# 1. 检查当前目录和权限 +echo "📍 当前目录: $(pwd)" +echo "👤 当前用户: $(whoami)" + # 2. 更新代码 (如果使用 git) if [ -d ".git" ]; then echo "📥 更新代码..." git pull origin main # 或者你的主分支名 fi -# 3. 创建虚拟环境 (如果不存在) +# 3. 检查 Python 版本 +echo "🐍 检查 Python 版本..." +$PYTHON_VERSION --version +which $PYTHON_VERSION + +# 4. 创建虚拟环境 (如果不存在) if [ ! -d "venv" ]; then echo "🐍 创建 Python 虚拟环境..." $PYTHON_VERSION -m venv venv + if [ ! -f "venv/bin/activate" ]; then + echo "❌ 错误: 虚拟环境创建失败,检查 Python 安装" + echo "尝试使用以下命令手动创建:" + echo "$PYTHON_VERSION -m venv venv" + exit 1 + fi + echo "✅ 虚拟环境创建成功" +else + echo "✅ 虚拟环境已存在" fi -# 4. 激活虚拟环境并安装依赖 +# 5. 检查虚拟环境激活脚本 +if [ ! -f "venv/bin/activate" ]; then + echo "❌ 错误: 找不到虚拟环境激活脚本" + echo "虚拟环境目录内容:" + ls -la venv/ || echo "venv 目录不存在或无法访问" + echo "尝试删除并重新创建虚拟环境..." + rm -rf venv + $PYTHON_VERSION -m venv venv +fi + +# 6. 激活虚拟环境并安装依赖 echo "📦 安装 Python 依赖..." source venv/bin/activate +echo "🐍 虚拟环境已激活: $(which python)" pip install --upgrade pip pip install -r requirements.txt pip install gunicorn supervisor # 生产环境依赖 -# 5. 构建前端 +# 7. 构建前端 echo "🏗️ 构建前端..." cd app/web if command -v bun &> /dev/null; then @@ -46,22 +75,22 @@ else exit 1 fi -# 6. 返回项目根目录 +# 8. 返回项目根目录 cd "../.." -# 7. 创建必要的目录 +# 9. 创建必要的目录 echo "📁 创建必要目录..." mkdir -p logs mkdir -p data/sessions -# 8. 设置权限 +# 10. 设置权限 echo "🔐 设置文件权限..." chown -R $USER:$USER . chmod +x deploy.sh chmod +x start.sh chmod +x stop.sh -# 9. 复制配置文件到系统目录 (需要 sudo) +# 11. 复制配置文件到系统目录 (需要 sudo) echo "⚙️ 配置系统服务..." if [ -f "/etc/supervisor/conf.d/$PROJECT_NAME.conf" ]; then sudo cp supervisor.conf /etc/supervisor/conf.d/$PROJECT_NAME.conf