#!/bin/bash # 部署脚本:拉取代码 + 构建前端 + 重启后端 # 用法:./deploy.sh # 前提:服务器已安装 Node.js(node --version 能输出版本) set -e cd "$(dirname "$0")" # ── 1. 检查 Node.js ── if ! command -v node &> /dev/null; then echo "❌ 服务器未安装 Node.js,无法构建前端" echo " 安装(Debian/Ubuntu):" echo " curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -" echo " sudo apt-get install -y nodejs" exit 1 fi echo "✅ Node.js: $(node --version)" # ── 2. 拉取最新代码 ── echo "=== 拉取最新代码 ===" git pull # ── 3. 构建前端(产物输出到 ../static/)── echo "=== 构建前端 ===" cd frontend npm install npm run build cd .. # ── 4. 重启后端服务 ── echo "=== 重启后端服务 ===" sudo systemctl restart gemoldinsight sleep 2 sudo systemctl status gemoldinsight --no-pager | head -8 echo "" echo "=== 部署完成 ===" echo "前端已构建到 static/,后端已重启。"