2024最新 Jenkins + Docker 实战教程(五)- 配置Gitee Webhooks实现自动构建部署

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志

🎐 个人CSND主页------Micro麦可乐的博客

🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战

🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战

🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解

💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程

如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

Jenkins + Docker + Git + Maven 实战教程(五)- 配置Gitee Webhooks实现自动构建部署

前言

上一章节中我们已经学习从自己编写简单SpringBoot项目(根目录下编写Dockerfile)上传至Gitee,最后通过Jenkins实现自动化部署,可能有小伙伴会问,能不能我在提交代码至仓库的时候Jenkins就帮我们部署呢? 答案是肯定的,今天我们就来讲讲Webhooks

什么是Webhooks

Webhooks是一种基于HTTP协议的回调机制。当特定事件(如代码推送、Pull Request等)发生时,源系统会向预先配置的URL发送一个HTTP请求,以通知目标系统进行相应的操作。在CI/CD流程中,Webhooks常用于触发Jenkins构建任务。

Webhooks的工作原理

当代码仓库(如GitHubGitee)中的某些事件发生时,这些系统会向配置好的Jenkins URL发送HTTP请求。Jenkins接收到请求后,根据配置的JobPipeline,自动执行相应的构建、测试和部署任务。

开始配置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 实战教程(六)- Jenkins配置邮箱接收构建通知

相关推荐
SkyWalking中文站11 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
程序员老赵13 小时前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵15 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位15 小时前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
小猿姐1 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站3 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ3 天前
Kubeneters HA Cluster部署
运维
lichenyang4533 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4533 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器