Linux脚本自动打包发服务
适用于前后台分离的服务
一个jar包一个前台工程
实现自动杀端口,复制文件,备份数据,发布新版本。
脚本复制到Linux中
【./jb.sh】按Enter运行即可
内容如下:
#自定义存放的地方
#文件存放的根目录
latestDir=/home/xnj
#jar包名字
jarName=swWeb.jar
#前端压缩包文件名
qdZipName=Desktop.zip
#前端tomcat的位置
qdTomcatPosition=/home/tomcat/apache-tomcat-8.5.43/webapps/ROOT
#脚本存放的位置
jbFilePosition=/home/jb
#结束
#年
year=KaTeXparseerror:Expected'EOF',got'#'atposition12:(date+%Y)#̲月month=(date+%Y%m)
#日
day=KaTeXparseerror:Expected'EOF',got'#'atposition17:…date+%Y%m%d);#̲时分秒hms=(date+%H%M%S)
#当前目录
currentDir=$(pwd)
#cd到当前目录
cd$jbFilePosition
#创建年目录
if[!-d$latestDir];then
mkdir$latestDir
fi
if[!-dlatestDir/latestDir/latestDir/year];then
mkdirlatestDir/latestDir/latestDir/year
fi
if[!-dlatestDir/latestDir/latestDir/year/$month];then
mkdirlatestDir/latestDir/latestDir/year/$month
fi
if[!-dlatestDir/latestDir/latestDir/year/month/month/month/day];then
mkdirlatestDir/latestDir/latestDir/year/month/month/month/day
fi
if[!-dlatestDir/latestDir/latestDir/year/month/month/month/day/$hms];then
mkdirlatestDir/latestDir/latestDir/year/month/month/month/day/KaTeXparseerror:Expected'EOF',got'#'atposition9:hmsfi#̲将当前目录的下的jar包和前端…jarNamelatestDir/latestDir/latestDir/year/month/month/month/day/hmscp−r./hmscp-r./hmscp−r./qdZipNamelatestDir/latestDir/latestDir/year/month/month/month/day/$hms
#杀掉进程awk是是处理行数据的xargs是多个命令的连接的管道
ps-ef|grep$jarName|grep-vgrep|awk‘{print$2}'|xargskill-9
#删除前台工程
rm-rfqdTomcatPosition/qdTomcatPosition/qdTomcatPosition/qdZipName
rm-rf$qdTomcatPosition/static
rm-rfKaTeXparseerror:Expected'EOF',got'#'atposition29:…ion/index.html#̲加载新前台工程cp-r.…qdZipName$qdTomcatPosition/
cdqdTomcatPositionunzip./qdTomcatPositionunzip./qdTomcatPositionunzip./qdZipName
#启动新的jar包
nohupjava-jarlatestDir/latestDir/latestDir/year/month/month/month/day/hms/hms/hms/jarName>nohup.out&
ps:服务器自动打包发布shell脚本
脚本功能简介
- 自动拉取Git服务器最新代码
- 服务器maven自动打包
- 自动重启发布jar项目
- nohup启动项目后保存进程号至文件
前置条件
- Git可用
- maven可用
- springboot打成jar包可以正常启动
脚本内容
#!/bin/sh
echo"====开始拉取仓库最新代码===="
cd/data/code/better;pwd;
gitpull;gitstatus;
echo""
gitlog--pretty=format:"%h-%an,%ar:%s"-5;
echo"====服务器打包===="
mvninstall-Dmaven.test.skip=true;
mvncleanpackage-Dmaven.test.skip=true;
echo"====移动jar包并改名===="
cd/data/app;pwd;
cp/data/code/better/backend_web/target/backend_web-1.0-SNAPSHOT.jar/data/app;
mvbackend_web-1.0-SNAPSHOT.jarbetter.jar;
echo"=====停止Java应用======"
#jps|grepbetter.jar|awk'{print$1;}'|xargskill-9
kill-9`cat/data/app/betterPid.txt`
echo"=====启动Java应用======"
nohupjava-jarbetter.jar>/data/logdir/better/out.log&echo$!>/data/app/betterPid.txt&
#查看日志
echo""
echo"===启动项目的进程号====";
cat/data/app/betterPid.txt;
tail-20f/data/logdir/better/out.log;
运行脚本
shbetter.sh
总结
以上所述是小编给大家介绍的Linux脚本自动打包发服务,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短