🔄Update: 创建部署脚本

This commit is contained in:
2025-10-31 10:57:30 +08:00
parent 5ae1c4d6b2
commit 430bca93b7
+92
View File
@@ -0,0 +1,92 @@
#!/bin/bash
# 部署脚本:从远程仓库下载代码,打包并启动lark-panel的各个模块
# 使用pm2进行进程管理,确保重启后服务自动启动
# 设置变量
REPO_URL="http://47.121.181.112:3000/wonder/lark-panel.git"
WORK_DIR="/tmp/lark-panel-deploy"
DEPLOY_DIR="/opt/lark-panel"
LOG_DIR="/var/log/lark-panel"
# 创建必要的目录
mkdir -p $DEPLOY_DIR
mkdir -p $LOG_DIR
# 清理旧的工作目录
if [ -d "$WORK_DIR" ]; then
rm -rf $WORK_DIR
fi
# 克隆代码仓库
echo "正在从远程仓库下载代码..."
git clone $REPO_URL $WORK_DIR
if [ $? -ne 0 ]; then
echo "错误:无法克隆代码仓库"
exit 1
fi
# 进入工作目录
cd $WORK_DIR
# 打包各个模块
echo "正在打包各个模块..."
# 打包common模块(依赖)
echo "打包common模块..."
mvn clean package -pl common -am -DskipTests
# 打包movie模块
echo "打包movie模块..."
mvn clean package -pl movie -am -DskipTests
# 打包weather模块
echo "打包weather模块..."
mvn clean package -pl weather -am -DskipTests
# 打包lark模块
echo "打包lark模块..."
mvn clean package -pl lark -am -DskipTests
if [ $? -ne 0 ]; then
echo "错误:打包失败"
exit 1
fi
# 复制jar包到部署目录
echo "复制jar包到部署目录..."
cp movie/target/movie-*.jar $DEPLOY_DIR/movie.jar
cp weather/target/weather-*.jar $DEPLOY_DIR/weather.jar
cp lark/target/lark-*.jar $DEPLOY_DIR/lark.jar
# 停止并删除现有的pm2进程(如果存在)
echo "停止现有进程..."
pm2 stop movie weather lark 2>/dev/null || true
pm2 delete movie weather lark 2>/dev/null || true
# 使用pm2启动各个模块
echo "使用pm2启动各个模块..."
# 启动movie模块
pm2 start "java -jar $DEPLOY_DIR/movie.jar" --name movie --log $LOG_DIR/movie.log --restart-delay 5000
# 启动weather模块
pm2 start "java -jar $DEPLOY_DIR/weather.jar" --name weather --log $LOG_DIR/weather.log --restart-delay 5000
# 启动lark模块
pm2 start "java -jar $DEPLOY_DIR/lark.jar" --name lark --log $LOG_DIR/lark.log --restart-delay 5000
# 保存pm2配置,确保重启后自动启动
pm2 save
pm2 startup
echo "部署完成!所有模块已启动并使用pm2管理。"
echo "使用 'pm2 list' 查看进程状态"
echo "使用 'pm2 logs [module_name]' 查看日志"
# 清理临时目录
cd /
rm -rf $WORK_DIR
exit 0