build & pm2 start

This commit is contained in:
2025-03-21 21:05:58 +08:00
parent 6e1ada956d
commit d5b9e8eca9
13 changed files with 1351 additions and 1135 deletions

View File

@@ -3,7 +3,7 @@
# 用途: 执行ClickHouse SQL查询的便捷脚本
# 连接参数
CH_HOST="localhost"
CH_HOST="10.0.1.60"
CH_PORT="9000"
CH_USER="admin"
CH_PASSWORD="your_secure_password"

View File

@@ -1,81 +0,0 @@
#!/bin/bash
set -e
set -x
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo -e "${YELLOW}开始部署流程...${NC}"
# 首先加载环境变量
if [ "$NODE_ENV" = "production" ]; then
echo -e "${GREEN}加载生产环境配置...${NC}"
set -a
source .env.production
set +a
else
echo -e "${GREEN}加载开发环境配置...${NC}"
set -a
source .env.development
set +a
fi
# 安装依赖
echo -e "${GREEN}安装依赖...${NC}"
NODE_ENV= pnpm install --ignore-workspace
# 生成 Prisma 客户端
echo -e "${GREEN}生成 Prisma 客户端...${NC}"
npx prisma generate
# 类型检查
echo -e "${GREEN}运行类型检查...${NC}"
pnpm tsc --noEmit
# 询问是否同步数据库架构
echo -e "${YELLOW}是否需要同步数据库架构? (y/n)${NC}"
read -r sync_db
if [ "$sync_db" = "y" ] || [ "$sync_db" = "Y" ]; then
echo -e "${GREEN}开始同步数据库架构...${NC}"
if [ "$NODE_ENV" = "production" ]; then
npx prisma db push
else
npx prisma db push
fi
else
echo -e "${YELLOW}跳过数据库同步${NC}"
fi
# 构建项目
echo -e "${GREEN}构建项目...${NC}"
pnpm build
# 检查并安装 PM2
echo -e "${GREEN}检查 PM2...${NC}"
if ! command -v pm2 &> /dev/null; then
echo -e "${YELLOW}PM2 未安装,正在安装 5.4.3 版本...${NC}"
pnpm add pm2@5.4.3 -g
else
PM2_VERSION=$(pm2 -v)
if [ "$PM2_VERSION" != "5.4.3" ]; then
echo -e "${YELLOW}错误: PM2 版本必须是 5.4.3,当前版本是 ${PM2_VERSION}${NC}"
echo -e "${YELLOW}请运行以下命令更新 PM2:${NC}"
echo -e "${YELLOW}pm2 kill && pnpm remove pm2 -g && rm -rf ~/.pm2 && pnpm add pm2@5.4.3 -g${NC}"
exit 1
else
echo -e "${GREEN}PM2 5.4.3 已安装${NC}"
fi
fi
# 启动服务
if [ "$NODE_ENV" = "production" ]; then
echo -e "${GREEN}以生产模式启动服务...${NC}"
pm2 start dist/src/main.js --name limq
else
echo -e "${GREEN}以开发模式启动服务...${NC}"
pm2 start dist/src/main.js --name limq-dev --watch
fi
echo -e "${GREEN}部署完成!${NC}"