PMFlow/update.sh

56 lines
1.1 KiB
Bash

#!/bin/bash
# Neural Sync 更新脚本 - 用于代码更新后重新部署
set -e
PROJECT_DIR="/opt/neural-sync"
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo "========================================"
echo " Neural Sync 更新脚本"
echo "========================================"
if [ ! -d "$PROJECT_DIR" ]; then
echo -e "${RED}❌ 项目目录不存在${NC}"
exit 1
fi
cd "$PROJECT_DIR"
echo -e "${YELLOW}[1/4] 拉取最新代码...${NC}"
git pull
echo -e "${YELLOW}[2/4] 重新构建前端...${NC}"
cd frontend
npm install
npm run build
cd ..
echo -e "${YELLOW}[3/4] 更新 Python 依赖 (如有变更)...${NC}"
cd backend
source venv/bin/activate
pip install -r requirements.txt --upgrade
deactivate
cd ..
echo -e "${YELLOW}[4/4] 重启服务...${NC}"
systemctl restart neural-sync
nginx -s reload
sleep 2
if systemctl is-active --quiet neural-sync; then
echo -e "${GREEN}✅ 更新完成!${NC}"
else
echo -e "${RED}❌ 服务启动失败,查看日志:${NC}"
journalctl -u neural-sync -n 20
fi
SERVER_IP=$(hostname -I | awk '{print $1}')
echo ""
echo "访问地址: http://$SERVER_IP"