jenkins+gitlab实现springboot的自动化部署

用jenkins+gitlab实现springboot自动化部署

系统环境

jenkins服务器:10.199.89.***

gitlab服务器: 10.199.136.***

测试应用服务器:10.199.89.***

自动化部署的流程(如图所示便于理解jenkins)

在这里插入图片描述
在这里插入图片描述

配置分析

  • 在gitlab服务器安装部署gitlab并创建项目及分支
  • 在jenkins服务器安装部署jenkins
  • gitlab需要触发jenkins去进行一系列的自动化操作,如何出触发呢?gitlab上有webhook,我们可以通过配置webhook当有push操作时通知jenkins进行打包部署
  • jenkins需要拉取gitlab上的代码进行打包,所以jdk,maven,git在jenkins服务器是必备的
  • 最后jenkins通过maven打包好,将jar包发送到远程应用服务器,发送成功后运行shell脚本进行最后的部署工作

开始配置

第一步:配置jenkins
  • jenkins安装完成后,首先进行插件的下载(Jenkins页面→Manage Jenkins→Manage Plugins)需要安装的插件有:Publish Over SSH;Maven Integration;GitLab Plugin;GitLab Hook Plugin;GitLab Authentication plugin;GitLab API Plugin;Git;Git client Plugin;Git Parameter Plug-In

    在这里插入图片描述

  • 插件安装完成后,我们进行全局的配置(Jenkins页面→Manage Jenkins→Global Tool Configuration),其中包括Maven、jdk、git的配置

在这里插入图片描述

  • 全局配置完成之后,进行系统配置(Jenkins页面→Manage Jenkins→Configure System),主要是配置ssh服务

在这里插入图片描述

我通过http登录的方式连接的,直接输入用户名和密码即可,也可以通过点击高级进行ssh方式的连接,给当前的root用户生成密钥,将私钥配置配置给Jenkins用户,将公钥配置到目标服务器

  • 这些配置完成后,我们就可以创建一个job了

在这里插入图片描述

在这里插入图片描述

​ 因为我们需要对项目进行打包,所以我们选择构建一个maven项目,然后对项目进行一系列的配置

在这里插入图片描述

在这里插入图片描述

源码管理这一步依赖于gitlab的配置,报错是因为没有配置GitLab,gitlab的配置我后边会写

在这里插入图片描述

如果使用http的方式进行代码拉取首先确定gitlab服务器是否允许当前用户进行http的连接,最好是用ssh的方式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

pid=`ps -ef | grep Labor.jar | grep -v grep | awk '{print $2}'`
echo “旧应用进程id:$pidif [ -n "$pid" ]
then
kill -9 $pid
fi
cd /labor
./start.sh
npid=`ps -ef | grep Labor.jar | grep -v grep | awk '{print $2}'`
echo "新的进程 $npid:$?"
echo "启动成功!"

start.sh的代码在后边给出,因为这里牵扯到了一个需要注意的地方

保存我们的配置,然后进行gitlab的配置

第二步:配置GitLab
  • 首先我们配置在gitlab上配置jenkins生成的公钥

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 最后配置webhook

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样我们自动化部署就构建完成了

遇到的坑

1、jenkins构建成功后会杀死子进程,导致我们的springboot项目起不来

解决方法:这是我们调用的start.sh文件

export oldId=$BUILD_ID
export BUILD_ID=dontKillMe
nohup /installFile/jdk1.8.0_181/bin/java -jar Labor.jar >log.txt &
export BUILD_ID=$oldId
sleep 40

总结:1、更改BUILD_ID

​ 2、sleep很重要,一定要让他睡够他启动的时间

​ 3、给他指定jvm环境启动,否则会报jvm版本的错误导致启动失败

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Songgp1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值