Jenkins-自动部署,备份
问题导入:
环境:
CentOS 7, Tomcat 8.5, Jdk 1.8, Maven 3.25 ,Jenkins war包 2.x
原因:
每次部署都需要手动上传war包,备份以及重启服务,耗时耗力;
解决方案:
利用Jenkins自动部署
1.安装并且配置Jenkins.参考:https://blog.csdn.net/zh520qx/article/details/55669142
2.安装Jenkins插件:Publish Over SSH ,重启Jenkins.
3.先配置服务器信息:点开:系统管理-->系统设置-->(往下拉)找到Publish over SSH,如图配置:
4.回到首页,打开任务(项目)的配置:
找到:
5.此处,已经配置完了.接下来就是shell脚本,脚本将进行备份以及重启tomcat.,这里贴出本人的完整的shell脚本,根据个人情况.shell空格敏感,也可以参考其他的写法;
#!/bin/sh echo "开始执行" echo "删除旧的备份文件" rm -rf /app/backfils/xxx/xxx echo "备份项目,重新从tomcat中复制项目文件到此处" cp -r /app/tomcat/webapps/app/backfiles/xxx/ echo "停止tomcat" /app/tomcat/bin/shutdown.sh sleep 10 echo "杀掉进程" pid=$(ps -ef |grep -w 'tomcat-Djava' | grep -v 'grep'|awk '{print $2}') if [ -n $pid]; then kill -9 $pid sleep 3 fi echo "删除tomcat旧的war包以及项目文件" rm -rf /app/tomcat/webapps/xxx rm -rf /app/tomcat/webapps/xxx.war echo "复制文件到tomcat发布目录下" cp /app/deployfiles/xxx/xxx.war /app/tomcat/webapps/ echo "启动tomcat" /app/tomcat/bin/startup.sh echo "完成"