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小心一些其实没啥技术含量,大家主要看看中文知道思路就行了,有更好的思路请留言....至此没啥其他的了.已经可以自动部署,以及备份和重启了....告辞!
原创文章,转载请注明出处!
Jenkins-自动部署,备份的更多相关文章
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- Jenkins自动部署增加http状态码校验
公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一 ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- MySQL技术内幕InnoDB存储引擎(七)——事务
什么是数据库的事务? 事务是访问并更新数据库中各种数据的一个程序执行单元.事务也是数据库区别于文件系统的一个重要特性. 事务需要满足的特性 1.原子性 原子性就是指数据库中的一个完整的事务是不可分割的 ...
- Java并发编程的艺术(四)——JMM、重排序、happens-before
什么是JMM JMM就是Java内存模型.目的是为了屏蔽系统和硬件的差异,让同一代码在不同平台下能够达到相同的访问结果.规定了线程和内存之间的关系. 内存划分 JMM规定了内存主要划分为主内存和工作内 ...
- STL—— 容器(vector)的数据写入、修改和删除
1. 通过 push_back() 尾部增加一个元素 : vector 可以通过 "push_back " 写入数据,通过 push_back 可以将数据直接写入至 vector ...
- Redis存储对象(序列化和反序列化)
代码以及实例: package com.hp.test; import redis.clients.jedis.Jedis; import java.io.*; public class Test3 ...
- css 15-Sass入门
15-Sass入门 #Sass简介 大家都知道,js 中可以自定义发量,css 仅仅是一个标记语言,不是编程语言,因此不可以自定义发量.不可以引用等等. 面对这些问题,我们现在来引入 Sass,简单的 ...
- Linux vmstat 使用说明
摘自 https://www.thomas-krenn.com/en/wiki/Linux_Performance_Measurements_using_vmstat Linux Performanc ...
- 多任务-python实现-Thread的基本使用(2.1.1)
@ 目录 1.多任务的概念 2.线程 1.多任务的概念 "多任务工作"指的是当前很普遍的工作状态,一个人同时处理多件事情,比如以下这个常见的画面:写一会报告,刷一下网页,查一下资料 ...
- Python进阶——什么是描述符?
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 在 Python 开发中,你可能听说过「描述符」这个概念,由于我们很少直接使用它,所以大部分开发人员 ...
- .NET+SqlServer 实现数据读写分离
如今,我们操作数据库一般用ORM框架 现在用.NET Core + EFCore + SqlServer 实现数据读写分离 介绍 为什么要读写分离? 降低数据库服务器的压力 如何实现读写分离? 1.一 ...
- Sharding jdbc 强制路由策略(HintShardingStrategy)使用记录
背景 随着项目运行时间逐渐增加,数据库中的数据也越来越多,虽然加索引,优化查询,但是数据量太大,还是会影响查询效率,也给数据库增加了负载. 再加上冷数据基本不使用的场景,决定采用分表来处理数据,从而来 ...