使用Jenkins持续集成SpringBoot项目
记录通过shell命令的方式使用Jenkins持续集成SpringBoot项目,关于Jenkins的部署可参考 《Centos8中Jenkins的安装及配置》。1 项目创建假设现在有一个git托管的可正常运行SpringBoot项目,项目构建工具使用gradle,地址为git@xxx.com:path/springboot-jenkins.git。2 Jenkins任务相关配置2.1 创建任务登录
记录通过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构建任务,任务执行完成后会自动将最新版本的应用发布到部署服务器。
更多推荐
所有评论(0)