基于linux下的Jenkins热部署配置
插件的安转
首先在jenkins插件管理中找到 publish over ssh ,并安转。
系统配置
插件安装号以后,在jenkins 的系统配置里面的最下方会有个shh的相关配置选择。
目标服务器这边 登录方式有三种,可自行选择,我这边是按照密码登录
构建配置
(基础发布的构建可以参考我之前的文章,这边主要是讲热部署)
在构建后选择Send build artifacts over SSH,并按照自身需求完成配置。
Source files: 需要发送给远程主机的源文件。
Remove prefix 移除前面的路径。如果不设置这个参数,则远程主机会自动创建构建源 source files 包含的那个路径。
Remote directory: 远程主机目录。
注:Remove prefix 的路劲设置需要特别注意,以下是jenkins打包后war包存放的路径:/var/lib/jenkins/workspace/Test-Maven/target/test.war,jenkinsRemove prefix的初始路径是到“Test-Maven”这一层的。
Exec command: 在远程主机上执行的命令,或者执行的脚本。
echo ‘STOP donghang service’
tomcat_home=/usr/local/Tomcat8.5
sh $tomcat_home/bin/shutdown.sh;
ls
tom_pid=`ps -ef | grep tomcat8_8095 | grep -v grep | awk '{print $2}'`
if [ -n "$tom_pid" ];
then
echo “tomcat 关闭失败,将强制结束进程:” $tom_pid
kill -9 $tom_pid;
fi
echo “tomcat 进程结束”
echo “清空weapps部署目录并复制新war包…”
rm -rf $tomcat_home/webapps/ROOT $tomcat_home/webapps/ROOT.war
cp $tomcat_home/webapps/app/sdHr-0.0.1-SNAPSHOT.war $tomcat_home/webapps/ROOT.war
echo “重新启动项目…”
BUILD_ID=dontKillMe
sh $tomcat_home/bin/startup.sh
脚本中最主要的就是将历史war包删除,然后将webapps/app下的war包复制到webapps文件夹下,并将war包改名ROOT。
扩展
改名这段可通过其他方法实现:
在构建时做相应配置,这个时候就直接将war包名称定义好
pwd
if [ -e "*.war" ]; then rm -rf *.war
fi
cp /var/lib/jenkins/workspace/DsmsTest-Maven/target/*.war /target/ROOT.war
笔记:
spingboot 打war包 需要注意,由于springboot内置了Tomcat 所以打war包,需要修改pom相应配置,使其打包时提出Tomcat,并且项目启动项需要调整
大佬链接: springboot打war包的详细说明
参考大佬文章: springboot启动类SpringApplicationBuilder说明
基于linux下的Jenkins热部署配置相关推荐
- Linux下搭建jenkins+svn+http+maven自动化部署
Linux下搭建jenkins+svn+http+maven自动化部署 服务器设置: 卸载redhat的yum,安装centos的yum,配置第三方yum 1.删除redhat原有的rpm -qa | ...
- 环境部署(二):Linux下安装jenkins
jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...
- 基于Linux下 Oracle 备份策略(RMAN)
基于Linux下 Oracle 备份策略(RMAN) --********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --**** ...
- Linux下samba的安装与配置
physique 博客园 首页 新随笔 联系 管理 订阅 随笔- 203 文章- 0 评论- 33 Linux下samba的安装与配置 转载来源:http://blog.chinaunix.net ...
- 基于Linux下 Oracle 备份策略(RMAN)---转自沙弥的世界
--********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --******************************* ...
- 这可能是东半球最详细的Linux下搭建Jenkins服务器实现自动打包的教程(上)
前言:作为开发者,我们都遇到过这样一个问题,项目在测试期的时候,测试总会找我们打各个环境的包,什么生产包.prd包.pre包,每次都是我们打完包再发给测试.可是打包是要时间的啊,项目小还好,项目大的话 ...
- Springboot2 D3 SpringBoot开发实用篇 - 热部署 - 配置高级 - 测试
SpringBoot开发实用篇 运维实用篇完结以后,开发实用篇采用日更新的形式发布给各位小伙伴,基本上是每天一集,目前已经发布完毕. 开发实用篇中因为牵扯到SpringBoot整合各种各样的技 ...
- Linux下mysql支持中文,linux下mysql环境支持中文配置步骤
sql脚本执行前加上: CREATE DATABASE IF NOT EXISTS mydatabase DEFAULT CHARSET utf8 COLLATE UTF8_GENERAL_CI; u ...
- Linux下Nagios的安装与配置
Linux下Nagios的安装与配置 2017-03-23 17:40:20 来源: 点击:0 Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态 ...
最新文章
- python commands_python commands模块在python3.x被subprocess取代
- oracle中resource权限,Oracle内置角色connect与resource的权限
- Excel中配置VBA的工作环境
- android ViewPager动画的实现原理及效果
- Python--第4次平时作业
- 【微机原理与接口技术】多功能可编程芯片 与 多功能电饭煲
- hadoop--MapReduce概述
- Python编程基础06:认识程序控制结构
- 95-872-060-源码-CEP-匹配事件提取
- linux找回删除的文件6,在Centos6/RHEL6上恢复ext4文件系统下误删除的文件
- 计算机操作系统英语,操作系统的英文介绍
- python用什么编译器-python用什么编译器
- Matlab中单元数组和结构数组
- matlab上一次计算结果影响,matlab运行结果跟手算结果不一致怎么办
- 【STC单片机学习】第九课:单片机按键使用
- Tensorflow2.6实现Unet结构神经网络(3D卷积)识别脑部肿瘤并实现模型并行
- SAP 后台表查询方法及消息报错定位方法
- PixelUtils:像素转换工具
- matplotlib绘图归纳(双纵轴、柱状渐变、堆叠柱状)
- 趣图:凌晨三点,灯火阑珊处