使用Jenkins持续集成SpringBoot项目

记录通过shell命令的方式使用Jenkins持续集成SpringBoot项目,关于Jenkins的部署可参考 《Centos8中Jenkins的安装及配置》

1 项目创建

假设现在有一个git托管的可正常运行SpringBoot项目,项目构建工具使用gradle,地址为git@xxx.com:path/springboot-jenkins.git

2 Jenkins任务相关配置

2.1 创建任务

登录Jenkins,创建任务,如下图:
在这里插入图片描述

输入任务名称后,这里选择构建一个自由风格的软件项目,然后点击确定
在这里插入图片描述

2.2 任务配置

创建任务后,配置任务的General源码管理构建三个模块。如下:

2.2.1 General

这里维护项目描述,按需输入。
在这里插入图片描述

2.2.2 源码管理

这里配置项目的仓库相关信息,需要确保部署Jenkins的jenkins账户有访问当前仓库项目的权限。如下图,配置仓库的地址及构建分支信息:
在这里插入图片描述

2.2.3 构建

在构建模块,添加一个构建步骤选择执行shell,如下图,相关shell命令如下:

# 在jenkins任务当前控件执行gradle构建操作,并将构建生成的jar包复制到指定目录(可按需调整路径及文件名相关信息)
./gradlew clean build -x test && cp ./build/libs/*.jar /usr/local/jars/springboot-demo.jar
# 执行启动脚本
sh /usr/local/jars/scripts/springboot-demo.sh

在这里插入图片描述

2.3 启动脚本

上一步骤中的启动脚本springboot-demo.sh用于构建任务执行完成后,停止已运行的老版本springboot-demo.jar并启动新生成的springboot-demo.jar。脚本内容如下:

脚本存放于Jenkins部署服务器,存放路径注意要和Jenkins任务中配置的路径一致

#!/bin/sh

pid=$(lsof -i :8702 -t)
if [ -n "$pid" ]; then
    echo "Stopping existed process : "$pid
    kill -TERM $pid
    kill -KILL $pid
fi

export BUILD_ID=dontKillMe
curtime=`date +"%Y%m%d%H%M%S"`
echo $curtime" Starting srpingboot-demo..."

nohup java -Xms64m -Xmx256m -jar /usr/local/jars/srpingboot-demo.jar --spring.profiles.active=prod >> /usr/local/jars/srpingboot-demo.log &

3 构建Jenkins任务

进入到任务界面,执行构建操作,如下图:
在这里插入图片描述

构建成功后,会在配置的/usr/local/jars/目录下生成一个srpingboot-demo.log文件,查看该文件log信息如下:
在这里插入图片描述
在这里插入图片描述

4 持续集成

如果项目进行改动,可在改动之后重新执行Jenkins构建任务,任务执行完成后会自动将最新版本的应用发布到部署服务器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值