🔄Update: 创建部署脚本
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user