#!/bin/bash # AIGC 前端部署脚本 # 使用方法: ./deploy.sh set -e echo "======================================" echo "AIGC 前端项目生产环境部署" echo "======================================" echo "" # 颜色输出 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # 检查 Node.js 是否安装 if ! command -v node &> /dev/null; then echo -e "${RED}错误: 未检测到 Node.js,请先安装 Node.js${NC}" exit 1 fi echo -e "${GREEN}Node.js 版本: $(node -v)${NC}" echo -e "${GREEN}npm 版本: $(npm -v)${NC}" echo "" # 1. 安装依赖 echo -e "${YELLOW}[1/4] 安装依赖...${NC}" npm install echo -e "${GREEN}✓ 依赖安装完成${NC}" echo "" # 2. 构建生产版本 echo -e "${YELLOW}[2/4] 构建生产版本...${NC}" npm run build echo -e "${GREEN}✓ 构建完成${NC}" echo "" # 3. 检查构建产物 if [ ! -d "dist" ]; then echo -e "${RED}错误: dist 目录不存在,构建失败${NC}" exit 1 fi echo -e "${YELLOW}[3/4] 构建产物信息:${NC}" du -sh dist echo "" # 4. 打包构建产物 echo -e "${YELLOW}[4/4] 打包构建产物...${NC}" TIMESTAMP=$(date +%Y%m%d_%H%M%S) PACKAGE_NAME="aigc-ui-${TIMESTAMP}.tar.gz" tar -czf ${PACKAGE_NAME} dist/ echo -e "${GREEN}✓ 打包完成: ${PACKAGE_NAME}${NC}" echo "" echo "======================================" echo -e "${GREEN}部署准备完成!${NC}" echo "======================================" echo "" echo "下一步操作:" echo "1. 上传到服务器:" echo " scp ${PACKAGE_NAME} user@server:/path/to/deploy/" echo "" echo "2. 在服务器上解压:" echo " tar -xzf ${PACKAGE_NAME}" echo "" echo "3. 配置 Nginx 指向 dist 目录" echo "" echo "或者直接使用 deploy-to-server.sh 脚本自动部署" echo ""