mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 04:46:26 +00:00
56 lines
1.5 KiB
Bash
56 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# 检查是否已经处于虚拟环境中
|
|
if [[ ":$VIRTUAL_ENV:" != *":/opt/model-ai/backend/venv:"* ]]; then
|
|
# 切换到目标目录
|
|
cd /opt/ || { echo "切换 /opt 目录失败"; exit 1; }
|
|
|
|
# 替换现有仓库
|
|
if [ -d "/opt/model-ai" ]; then
|
|
rm -rf /opt/model-ai
|
|
fi
|
|
|
|
# 克隆仓库
|
|
git clone git@gitee.com:tao__tao/model-ai.git || { echo "克隆仓库失败"; exit 1; }
|
|
|
|
# 进入后端目录
|
|
cd /opt/model-ai/backend || { echo "进入后端目录失败"; exit 1; }
|
|
|
|
# 创建虚拟环境
|
|
python3 -m venv venv || { echo "创建虚拟环境失败"; exit 1; }
|
|
|
|
# 激活虚拟环境
|
|
source ./venv/bin/activate || { echo "激活虚拟环境失败"; exit 1; }
|
|
fi
|
|
|
|
# 安装依赖
|
|
pip install -r requirements.txt || { echo "安装依赖失败"; exit 1; }
|
|
|
|
# 初始化应用
|
|
echo "开始初始化应用"
|
|
python main.py init || { echo "初始化应用失败"; exit 1; }
|
|
echo "应用初始化完成"
|
|
|
|
# 使用 nohup 在后台运行应用,并将输出重定向到日志文件
|
|
echo "开始启动应用"
|
|
nohup python main.py run > /opt/logs/main.log 2>&1 &
|
|
|
|
# 获取 nohup 的进程 ID
|
|
NOHUP_PID=$!
|
|
|
|
# 检查后台进程是否成功启动
|
|
if [ $? -eq 0 ]; then
|
|
# 将后台进程从当前 shell 会话中分离出来
|
|
echo "应用已启动,进程 ID: $NOHUP_PID"
|
|
|
|
# 等待一段时间,确保日志文件中有内容
|
|
sleep 3
|
|
|
|
# 打印日志文件的内容
|
|
cat /opt/logs/main.log
|
|
|
|
echo "应用已启动"
|
|
else
|
|
echo "启动应用失败"
|
|
exit 1
|
|
fi |