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:目前还不是完全自动化需要自己手动打包到指定位置

相关推荐
深耕AI1 分钟前
【wordpress系列教程】01本地部署和云服务器部署
运维·服务器
嵌入式郑工1 分钟前
UBUNTU开发环境下的一些实用的工具
linux·运维·ubuntu
洛克大航海3 分钟前
Ubuntu 安装 Docker
linux·docker·ubuntu24.04
代码不行的搬运工7 分钟前
针对BGP前缀劫持的实用防御(2007)
运维·网络
梦仔生信进阶12 分钟前
【Linux】使用小细节之删除软链接的正确方法Linux删除软连接的正确姿势:别让一个斜杠毁掉你的心血!
linux
交换机路由器测试之路24 分钟前
什么是以太网
运维·网络·网络协议·路由器·以太网·交换机
_lst_24 分钟前
linux进程控制
linux·运维·服务器
小时候没少挨打25 分钟前
从0到1安装NVIDIA驱动(NVSwitch+Driver+IB网络驱动)
运维·服务器·数据库
九河云28 分钟前
新能源汽车充电桩数字化:充电效率 AI 调控与运维服务云管理平台实践
运维·人工智能·汽车
可可苏饼干31 分钟前
Docker命令与知识点归纳
运维·学习·docker·容器