| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #!/bin/bash
-
- # CRM 系统部署脚本
- set -e
-
- echo "=========================================="
- echo " 中小企业轻量级 CRM 系统 - 部署脚本"
- echo "=========================================="
- echo ""
-
- # 颜色定义
- GREEN='\033[0;32m'
- RED='\033[0;31m'
- YELLOW='\033[1;33m'
- NC='\033[0m'
-
- # 获取脚本所在目录
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- cd "$SCRIPT_DIR"
-
- echo "📁 项目目录:$SCRIPT_DIR"
- echo ""
-
- # 检查 Node.js
- echo "🔍 检查 Node.js..."
- if ! command -v node &> /dev/null; then
- echo -e "${RED}❌ Node.js 未安装${NC}"
- exit 1
- fi
- echo -e "${GREEN}✅ Node.js $(node -v) 已安装${NC}"
- echo ""
-
- # 检查 PM2
- echo "🔍 检查 PM2..."
- if ! command -v pm2 &> /dev/null; then
- echo "正在安装 PM2..."
- npm install -g pm2
- fi
- echo -e "${GREEN}✅ PM2 $(pm2 -v) 已安装${NC}"
- echo ""
-
- # 安装依赖
- echo "📦 安装项目依赖..."
- npm install --production
- echo -e "${GREEN}✅ 依赖安装完成${NC}"
- echo ""
-
- # 配置环境变量
- echo "⚙️ 配置环境变量..."
- if [ ! -f .env ]; then
- cat > .env << EOF
- PORT=3002
- NODE_ENV=production
- EOF
- echo -e "${GREEN}✅ 已创建 .env 文件${NC}"
- else
- echo -e "${YELLOW}⚠️ .env 文件已存在${NC}"
- fi
- echo ""
-
- # 创建数据目录
- echo "📁 创建数据目录..."
- mkdir -p ./src/data ./logs
- chmod 755 ./src/data ./logs
- echo -e "${GREEN}✅ 目录已创建${NC}"
- echo ""
-
- # 停止旧版本
- echo "🛑 停止旧版本服务..."
- pm2 stop crm-system 2>/dev/null || true
- pm2 delete crm-system 2>/dev/null || true
- echo -e "${GREEN}✅ 旧版本已停止${NC}"
- echo ""
-
- # 启动服务
- echo "🚀 启动服务..."
- pm2 start ecosystem.config.js --env production
- sleep 3
- echo -e "${GREEN}✅ 服务已启动${NC}"
- echo ""
-
- # 保存 PM2 配置
- echo "💾 保存 PM2 配置..."
- pm2 save
- echo -e "${GREEN}✅ PM2 配置已保存${NC}"
- echo ""
-
- # 显示状态
- echo ""
- echo "=========================================="
- echo " 部署完成!"
- echo "=========================================="
- echo ""
- pm2 status crm-system
- echo ""
- echo "📍 访问地址:http://localhost:3002"
- echo "📋 查看日志:pm2 logs crm-system"
- echo "🛑 停止服务:pm2 stop crm-system"
- echo "🔄 重启服务:pm2 restart crm-system"
- echo ""
- echo -e "${GREEN}🎉 部署成功!${NC}"
- echo ""
|