基于linux下的Jenkins热部署配置

文章介绍了如何在Jenkins中安装和配置PublishOverSSH插件,进行自动化热部署。通过构建后操作,将WAR包发送到远程服务器,并执行脚本来停止Tomcat服务,清理旧的WAR包,复制新的WAR包到webapps目录下,并重启Tomcat服务。此外,提到了SpringBoot打WAR包的注意事项和相关配置。
摘要由CSDN通过智能技术生成
插件的安转

首先在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说明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值