Jenkins远程SSH部署SpringBoot项目

本文详细介绍了如何配置Jenkins进行自动化构建和部署Java项目。首先,确保安装了必要的前置环境如jdk、maven和git。接着,在Jenkins中配置git凭据,并安装PublishoverSSH插件以进行远程服务器的SSH连接。然后,配置SSHServers并新建一个自由风格的项目,设置构建步骤,包括删除旧的jar包,复制新构建的jar到指定目录。最后,定义构建后操作,将jar文件传输到远程服务器,并执行一系列命令,如清理旧jar,启动新jar,以及管理进程。整个过程旨在实现Java项目的自动化部署流程。
1.前置环境

前置环境配置:jdk、maven、git

2.在Jenkins配置git凭据

请查看往期文章:
https://blog.csdn.net/RookiexiaoMu_a/article/details/122655272?spm=1001.2014.3001.5501

3.安装Publish over SSH插件

在这里插入图片描述

4.配置SSH Servers

安装完Publish over SSH插件之后,进入Manager Jenkins—>Configure System
在这里插入图片描述
往下拉到最后,找到SSH Servers:
在这里插入图片描述
填完之后点击:高级
在这里插入图片描述
在这里插入图片描述
其他的使用默认配置即可,点击应用 保存.

5.新建一个自由风格项目

不知如何新建的同学请查看往期文章:
https://blog.csdn.net/RookiexiaoMu_a/article/details/122655272?spm=1001.2014.3001.5501
在这里插入图片描述
5.1填写配置:
在这里插入图片描述
在这里插入图片描述

5.2增加构建步骤:

在这里插入图片描述
在这里插入图片描述
输入Shell命令

pwd
if [ -e "*.jar" ]; then 
    rm -rf *.jar
fi
cp /var/lib/jenkins/workspace/test-parent-package/test-wechatpush/target/*.jar test-wechatpush.jar

这一步还在我们的jenkins机器上执行的,命令的意思是:
1.输出当前路径(jenkins上每个新建的项目都会在jenkisn工作目录新建一个文件夹)
例如此时pwd的输出为:/var/lib/jenkins/workspace/test-wechatpush
2.将当前路径下的jar包都删除
3.将jenkins工作路径下的目标jar包复制到当前的路径

5.3增加构建后操作:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此步骤会将Source files的jar文件复制到Remote directory目录

Remote directory:远程目录
Exec command:在远程机器上要执行的命令

5.4 远程机器上要执行的命令:Exec command

source /etc/profile
cd /db/app/test-parent
if [ -e "/db/app/test-parent/test-wechatpush/*.jar"]; then 
    rm /db/app/test-parent/test-wechatpush/test-wechatpush.jar
fi
cp test-wechatpush.jar /db/app/test-parent/test-wechatpush/test-wechatpush.jar
cd /db/app/test-parent/test-wechatpush/
api_id=`ps -ef | grep 8080 | grep -v "grep" | grep "test-wechatpush" | awk '{print $2}'`
echo $api_id
for id in $api_id
do
 kill -9 $id
 echo "killed $id"
done
BUILD_ID=dontKillMe
nohup java -Xms64m -Xmx128m -jar /db/app/test-parent/test-wechatpush/test-wechatpush.jar --name=test-wechatpush --spring.profiles.active=dev --server.port=8080 > /dev/null 2>&1 &

第一行:刷新配置
第二行:切换目录
第三、四、五行:移除远程目录上的test-wechatpush.jar文件
第六行:将Remote Directory(5.3步骤)目录下的test-wechatpush.jar文件复制到远程机器的/db/app/test-parent/test-wechatpush目录下
第七行:切换目录(如果不切换到运行的jar包所在目录,那么日志文件将在当前目录下
第八至十四行:将端口为8080的进程杀掉(8080是我们程序的端口)
第十五行:如果在shell里使用nohup发现还是不能后台运行,加上此命令即可
第十六行:启动java项目命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值