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

相关推荐
小黑_深呼吸13 分钟前
Prometheus实战教程:k8s平台-Mysql监控案例
运维·学习·kubernetes·prometheus
ALex_zry17 分钟前
Ubuntu 20.04 C++开发环境搭建指南(2025版)
linux·c++·ubuntu
疯狂的挖掘机1 小时前
记一次从windows连接远程Linux系统来控制设备采集数据方法
linux·运维·windows
忧郁的狐狸1 小时前
Jenkins 安装与配置指南
运维·jenkins
sy_cora1 小时前
IEEE 列表会议第五届机器人、自动化与智能控制国际会议
运维·人工智能·机器人·自动化
sz66cm2 小时前
Linux基础 -- 用户态Generic Netlink库高性能接收与回调框架
linux
数巨小码人2 小时前
Linux常见命令
大数据·linux·运维·服务器·elasticsearch·搜索引擎
邪恶的贝利亚2 小时前
定时器设计
java·linux·前端
magic 2453 小时前
第五章:Linux用户管理
linux·运维·服务器
前进的程序员3 小时前
C++ 在 Windows 和 Linux 平台上的开发差异及常见问题
linux·c++·windows