Jenkins-自动部署,备份

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 "完成"

 

    执行的输出语句可以在Jenkins的构建控制台看到;

  shell小心一些其实没啥技术含量,大家主要看看中文知道思路就行了,有更好的思路请留言....至此没啥其他的了.已经可以自动部署,以及备份和重启了....告辞!

   原创文章,转载请注明出处!

 

    

 

  

posted @ 2018-10-19 16:29  _一直在努力  阅读(3865)  评论(1编辑  收藏  举报