ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-01-16 14:34:27  阅读:172  来源: 互联网

标签:集成 springboot 配置 jar sh Build jenkins mis


@

目录

引言

团队开发的过程中,需要有一个公共的环境用于测试、验证系统,使用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自动构建的一些截图:

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

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

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

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

标签:集成,springboot,配置,jar,sh,Build,jenkins,mis
来源: https://www.cnblogs.com/lovewinner/p/15809758.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有