😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~
Jenkins + Docker + Git + Maven 实战教程(五)- 配置Gitee Webhooks实现自动构建部署
- 前言
- 什么是Webhooks
- Webhooks的工作原理
- 开始配置Jenkins
- 开始配置Gitee
- 结语
前言
上一章节中我们已经学习从自己编写简单SpringBoot
项目(根目录下编写Dockerfile
)上传至Gitee
,最后通过Jenkins
实现自动化部署,可能有小伙伴会问,能不能我在提交代码至仓库的时候Jenkins就帮我们部署呢? 答案是肯定的,今天我们就来讲讲Webhooks
什么是Webhooks
Webhooks
是一种基于HTTP协议的回调机制。当特定事件(如代码推送、Pull Request等)发生时,源系统会向预先配置的URL发送一个HTTP请求,以通知目标系统进行相应的操作。在CI/CD流程中,Webhooks
常用于触发Jenkins
构建任务。
Webhooks的工作原理
当代码仓库(如GitHub
、Gitee
)中的某些事件发生时,这些系统会向配置好的Jenkins URL发送HTTP请求。Jenkins接收到请求后,根据配置的Job
或Pipeline
,自动执行相应的构建、测试和部署任务。
开始配置Jenkins
以下以Gitee为例,详细讲解如何配置Webhooks。
首先我们在Jenkins
控制台 -> 插件管理安装Gitee插件
安装好插件我们在 系统配置
设置一下Gitee,用于访问Giee仓库项目凭证
Gitee令牌生产如下
安装完成回到我们上一章节配置的 jenkins-demo
任务, 如果你还没了解上一章节的内容可以点击下方链接查阅:
2024最新 Jenkins + Docker 实战教程(四) - 编写自己的Springboot项目实现自动化部署
进入任务后 配置
-> 构建触发器
,会发现多了一个Gitee Webhooks
触发构建的选项
这里我们设置触发策略
Push: 仓库推送代码、推送 / 删除分支
Pull Request:新建、更新、合并
最后设置Gitee WebHook 密码
开始配置Gitee
通过 「仓库主页
」->「管理页面
」->「WebHooks
」 添加 WebHook
URL:接收 WebHook 数据的 http 地址,Gitee会发送 Post 请求到这个地址。
WebHook 密码/签名密钥:保证安全以及识别数据来源
Tips:
URL以及密码根据刚才Jenkins中配置的Gitee Webhooks触发构建生成的信息填入
由于博主的教程是基于本机进行Jenkins的部署,即URL:
http://192.168.1.20:8080/gitee-project/jenkins-demo
Gitee是无法POST到这个地址的,地址要填写公网的地址,或者有内网穿透工具也可以,这里我们需要借助一个 内网穿刺
工具来实现外网访问本地端口项目
大家可以参考 NeutrinoProxy,NeutrinoProxy(中微子代理) 一款基于solon、netty的内网穿透神器!同样也是基于Docker部署。
也可以使用一个在线免费的工具 : 访问地址 注册账号,申请免费通道
最后我们修改一下我们的SpringBoot代码,并提交仓库
观察Jenkins 构建历史,发现 Started by Gitee push by xxx
信息则证明通过Gitee WebHooks的推送实现了项目的自动化构建部署
最后访问一下我们的SpringBoot测试项目,测试成功!
结语
Webhooks
是实现自动化构建与部署的重要工具,通过配置Webhooks
,可以在代码仓库发生变更时,自动触发Jenkins
执行相应的构建任务。通过本文介绍了Webhooks的使用方法,希望帮助小伙伴们更好地利用Webhooks
提高开发效率和代码质量。
下一章节:2024最新 Jenkins + Docker 实战教程(六)- 配置邮箱接收构建通知