edit deploy.sh

This commit is contained in:
feie9456 2025-08-10 10:20:03 +08:00
parent e0745a910c
commit 9a0601cae6

View File

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