springboot程序在jenkins实现持续集成的例子

3 篇文章 0 订阅
2 篇文章 0 订阅

引言

团队开发的过程中,需要有一个公共的环境用于测试、验证系统,使用jenkins可以定期自动更新代码、编译代码、运行程序。下面给出一个我们自己团队在用的一套脚本,大家自行参考,也希望大家能提出宝贵的意见。

一 jenkins配置部分

jenkins项目类型

springboot一般使用maven进行构建,jenkins选择“构建一个maven项目”
在这里插入图片描述

General 配置

建议把“Discard old builds”选上,避免把服务器的磁盘空间撑爆。
在这里插入图片描述

Source Code Management 配置

在这里插入图片描述

Build Triggers 配置

建议使用【Build periodically】和【Poll SCM】结合,使用cron去设定定时任务。
Build periodically:不管是否有源代码有更新,按照周期定期编译
Poll SCM:周期去检查代码是否更新,有更新就触发编译

H 12 * * 1   #Build periodically
H/5 * * * *  #Poll SCM

在这里插入图片描述

Build 配置

这块比较简单,就是指定pom文件和maven的命令,使用clean package命令,将代码打成jar包。

clean package

在这里插入图片描述

Post Steps 配置

一般选择【Run only if build succeeds】,在打包成功后,执行一段脚本命令,实现jar包的覆盖,jar程序的启停。大家请根据自己的代码的存放路径,进行修改。

/var/lib/jenkins/workspace/mis 这个文件夹是代码根目录,/var/lib/jenkins/workspace/mis/bin是脚本存放的地方,我把脚放跟代码放到一起,方便对脚本进行微调。stop.sh、replace.sh、startup.sh的脚本代码文章下面会给出。

#!/bin/bash
cd /var/lib/jenkins/workspace/mis/bin
chmod +x stop.sh
chmod +x replace.sh
chmod +x startup.sh
./stop.sh
./replace.sh
echo "Execute shell Finish"
BUILD_ID=dontKillMe nohup /var/lib/jenkins/workspace/mis/bin/startup.sh &

在这里插入图片描述

(可选)构建设置、Post-build Actions

构建成功后,需要通知相关人员,可以使用构建设置->E-mail Notification实现,我这里使用Post-build Actions->钉钉通知器配置实现使用钉钉群机器人在群里发通知。钉钉通知器配置需要安装DingTalk这个插件,DingTalk刚升级到2的时候出现了兼容性问题,功能失效,所以我一直停留在1.9这个版本。如果大家有问题,建议安装1.9版本。

在这里插入图片描述
填入【jenkins URL】和【钉钉access token
】(钉钉access token填写钉钉机器人产生URL中的accessToken, 请注意不要填写完整的URL)
在这里插入图片描述
jenkins配置部分到此结束。

二 linux启停脚本部分

这里给出我们springboot项目的一个结构,主要就是多加了一个脚本文件夹,里面有3个脚本:

  • stop.sh 把先前的进程kill掉
  • replace.sh 替换jar包
  • startup.sh 启动springboot程序

ps:我们公共服务器是linux,windows版本的脚本大家可以参考着自行编写,如果需求量大,回头我写一个共享给大家。

在这里插入图片描述

stop.sh

mis-1.0-SNAPSHOT.jar为你生成的jar包名称,自行替换下

echo "Stopping mis-1.0-SNAPSHOT.jar"
pid=`ps -ef | grep mis-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

replace.sh

为了在编译的过程中,不影响程序运行,所以把执行文件放到了另外一个文件夹。

cp /var/lib/jenkins/workspace/mis/target/mis-1.0-SNAPSHOT.jar /var/lib/jenkins/workspace/mis/

startup.sh

【mis-1.0-SNAPSHOT.jar】为生成的jar包,请自行替换名称。

cd /var/lib/jenkins/workspace/mis/
./mis-1.0-SNAPSHOT.jar > ./log/catlina.out 2>&1

要注意的是,这里生成的【mis-1.0-SNAPSHOT.jar】可以直接执行,需要在pom文件进行相应的配置。
在这里插入图片描述
到此全部配置完成!!!

三 运行效果

下面是jenkins自动构建的一些截图:

  • 构建工程的概况
    在这里插入图片描述

  • 单次构建的情况
    在这里插入图片描述

  • 单次构建的日志
    在这里插入图片描述

  • 钉钉群里构建失败时的通知
    在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值