Linux自动化部署脚本

1:最近项目部署比较频繁终于熬不住了

就有下面的这东西

powershell 复制代码
#!/bin/sh
#报错停止运行
set -e
# 获取tomcat的PID
TOMCAT_PID=$(ps -ef | grep tomcat | grep -v 'grep' | awk '{print $2}')
# tomcat的启动文件位置
START_TOMCAT=/mnt/tomcat/bin/startup.sh
# 项目文件部署位置
PROJECT=/mnt
# 前端的文件位置
WEB=www
# 老的
WEB_PROJECT_O=$PROJECT/$WEB
# 新的
WEB_PROJECT_N=$PROJECT/dist
# 指定要判断前端文件是否已上传
if [ -d "$WEB_PROJECT_N" ]; then
    echo "部署文件已经存在...准备就绪"
else
    echo "请先上传前端文件(dist)到/mnt/下面!"
    exit 0
fi
# 后端的文件位置
SERVER=amb-server
# 老的
JAVA_PROJECT_O=$PROJECT/$SERVER
# 新的
JAVA_PROJECT_N=$PROJECT/tomcat/webapps/$SERVER
# 项目文件备份位置
PROJECT_B=/mnt/Backup
CURRENT_DATE=$(date +%Y%m%d)
echo $CURRENT_DATE
echo "备份前端项目..."
cd $PROJECT_B
#获取文件数用于命名
wFileNum=$(ls -l | grep $WEB$CURRENT_DATE | wc -l)
wFileNum=`expr $wFileNum + 1`
mv $WEB_PROJECT_O  $PROJECT_B/$WEB$CURRENT_DATE-$wFileNum
echo "备份前端项目($PROJECT_B/$WEB$CURRENT_DATE-$wFileNum)...成功"
sleep 3
mv $WEB_PROJECT_N $WEB_PROJECT_O
cd $PROJECT_B
#获取文件数用于命名
sFileNum=$(ls -l | grep $SERVER$CURRENT_DATE | wc -l)
sFileNum=`expr $sFileNum + 1`
echo "备份后端项目..."
mv $JAVA_PROJECT_O  $PROJECT_B/$SERVER$CURRENT_DATE-$sFileNum
echo "备份后端项目($PROJECT_B/$SERVER$CURRENT_DATE-$sFileNum)...成功"
sleep 3
mv $JAVA_PROJECT_N $PROJECT/
echo "项目重启..."
kill -9 $TOMCAT_PID
# 5秒后重启tomcat
sleep 5
$START_TOMCAT
sleep 20
echo "项目已成功部署!"

2:目前还不是完全自动化需要自己手动打包到指定位置

相关推荐
mounter625几秒前
Linux Kernel Design Patterns (Part 2):从经典链表到现代 XArray,拆解内核复杂数据结构的设计哲学
linux·数据结构·链表·设计模式·内存管理·kernel
虚幻如影3 分钟前
web端安全测试报告模板
linux·服务器·安全
郝学胜-神的一滴6 分钟前
epoll 反应堆模型深度拆解:从红黑树到回调闭环,手写高性能回射服务器
linux·运维·服务器·开发语言·c++·unix
sdszoe49227 分钟前
Windows server服务器AD+DC网络服务器运维管理方式
运维·服务器·windows·ad+dc·集中式管理·域控制器dc
Agent手记7 分钟前
药物研发数据处理或GSP合规管理医药Agent推荐:2026数智医药全链路自动化实战
运维·人工智能·ai·自动化
mounter62514 分钟前
【Linux 网络进阶】下一代虚拟网络设备 netkit 详解:超越 veth 的云原生基石
linux·服务器·网络·io_uring·netkit·devmem·hard lease
zhangrelay17 分钟前
三分钟云课实践速通--数字电子技术-数电--SimulIDE
linux·笔记·学习·ubuntu·simulide
wanhengidc20 分钟前
显卡服务器具体是指什么
运维·服务器·网络·安全·智能手机
小白考证进阶中21 分钟前
阿里云云计算工程师ACA认证(2026新版)已上线
运维·阿里云·云计算·阿里云认证·阿里云aca云计算·考试通知·阿里云aca考试
木木_王24 分钟前
嵌入式Linux学习 | 数据结构 (Day04)链表升级(进阶优化 + 柔性数组原理 + 双向循环链表完整实现 + 高频面试深挖)
linux·数据结构·学习