SpringBoot+GitHub+Jenkins


上一篇文章讲了Jenkins的环境配置,这篇说SpringBoot、GitHub和Jenkins的结合,公司项目用的Gitlab,但是Jenkins要多装插件才支持Gitlab,步骤多了点。这篇还是从GitHub引导入门。

GitHub设置

先得有个SpringBoot项目吧,下面演示idea新建项目,并提交到GitHub

idea新建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
idea新建spring项目

share项目到GitHub

在这里插入图片描述
把新建项目share到GitHub上
在这里插入图片描述
GitHub终于支持不付费用户新建private仓库了
在这里插入图片描述
在GitHub上刚刚提交的项目

GitHub项目设置webhooks

webhooks的作用

英文释义:Webhooks are “user-defined HTTP callbacks”. 即是用户定义的HTTP回调接口

举个栗子理解webhooks在这里的作用,当代码提交GitHub仓库后,即产生了push事件,GitHub通过webhooks调用指定的URL
在这里插入图片描述
在这里插入图片描述
在上一篇文章里面,Jenkins的访问路径是http://ip:8999/jenkins,那么webhook的配置应该是http://ip:8999/jenkins/github-webhook/,注意以’/'结尾
这个图中是我服务器上配置好的Jenkins路径,请根据你的具体情况配置,不用https也是可以的
在这里插入图片描述
GitHub会测试下webhooks可不可用

Jenkins设置

确认Jenkins的GitHub插件已安装

登录第一篇文章中配置好的Jenkins后台,从首页依次点击系统管理->插件管理->Installed,搜索Github Plugin,如果Github Plugin没安装,请安装Github Plugin插件

新建Jenkins项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目URL不是git路径
在这里插入图片描述
在这里插入图片描述
点击Add
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择GitHub账号后,等一会红色告警消失,说明这个账号访问该GitHub项目。为了安全考虑,可以考虑给GitHub test_jenkins新建一个访问token,配置如下secret text,我这里使用了GitHub账户和密码,就不配置了
在这里插入图片描述
在这里插入图片描述
选择maven构建SpringBoot项目
在这里插入图片描述
在这里插入图片描述
构建后执行shell脚本
在这里插入图片描述
保存配置,回到项目主页,选择立即构建
在这里插入图片描述
在这里插入图片描述
点击查看构建过程
在这里插入图片描述
点击console output,可以看到项目从GitHub拉取下来,并使用maven构建
在这里插入图片描述
在这里插入图片描述
这是shell脚本的输出

配置SpringBoot项目的重启

修改上面的shell

BUILD_ID=DONTKILLME
#!/bin/bash

# find jar
echo `pwd`
cd ./target
FILENAME=$(find -name test_jenkins**.jar)
echo $FILENAME
JARNAME=${FILENAME##*/}

# stop previous service
PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
	echo $JARNAME is already stopped
else
	echo kill $PID
	kill -9 $PID
fi

# cp jar to /root/test_jenkins and start service
cd /root/test_jenkins
cp /root/.jenkins/workspace/test_jenkins/target/$JARNAME .
nohup java -jar $JARNAME > test_jenkins.log &

# make sure the service had started
ps -ef | grep java

在这里插入图片描述
保存,点击立即构建
在这里插入图片描述
在这里插入图片描述
到这里Jenkins的配置就结束了,下面演示下能有效提高我们开发效率的整个过程

演示SpringBoot+GitHub+Jenkins的整个过程

在这里插入图片描述
在这里插入图片描述
添加controller,修改端口
在这里插入图片描述
commit and push
在这里插入图片描述
如果出现这个,说明webhook通知到了,到console output查看构建和服务启动情况
在这里插入图片描述
没报错,项目重新启动,OK

后续&扩展

我们发现Jenkins很强大,借助完整的shell支持,Jenkins可以完成很多重复工作,提高开发效率。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值