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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。