#!/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"