Files
accounts-manager-web/deploy.sh
2025-09-24 05:56:59 +08:00

66 lines
1.7 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 部署脚本 - 自动拉取、构建、PM2重载/启动
APP_NAME="accounts-manager-web"
echo "=========================================="
echo " 开始部署 $APP_NAME"
echo "=========================================="
# 1. 从远程仓库拉取最新代码
echo "📦 正在从远程仓库拉取最新代码..."
git pull origin master
if [ $? -ne 0 ]; then
echo "❌ 拉取代码失败,请检查网络连接或仓库状态"
exit 1
fi
echo "✅ 代码拉取成功"
# 2. 安装依赖并构建项目
echo "🔨 正在安装依赖并构建项目..."
pnpm install
if [ $? -ne 0 ]; then
echo "❌ 安装依赖失败"
exit 1
fi
pnpm run build
if [ $? -ne 0 ]; then
echo "❌ 项目构建失败"
exit 1
fi
echo "✅ 项目构建成功"
# 3. 检查PM2进程是否存在
echo "🔍 正在检查PM2进程状态..."
PM2_STATUS=$(pm2 list | grep -c "$APP_NAME")
if [ $PM2_STATUS -gt 0 ]; then
# PM2进程存在执行重载
echo "🔄 PM2进程已存在正在重载应用..."
pm2 reload $APP_NAME
if [ $? -eq 0 ]; then
echo "✅ PM2应用重载成功"
else
echo "❌ PM2应用重载失败"
exit 1
fi
else
# PM2进程不存在创建新进程
echo "🚀 PM2进程不存在正在启动新应用..."
pm2 start pnpm --name $APP_NAME -- run start:prod
if [ $? -eq 0 ]; then
echo "✅ PM2应用启动成功"
else
echo "❌ PM2应用启动失败"
exit 1
fi
fi
# 4. 显示PM2状态
echo "📊 当前PM2状态"
pm2 list
echo "=========================================="
echo " 🎉 部署完成!"
echo "=========================================="