edit deploy.sh
This commit is contained in:
parent
e0745a910c
commit
9a0601cae6
43
deploy.sh
43
deploy.sh
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user