当前位置: 首页 > news >正文

GitLab+Jenkins 实现 Webhook 自动化触发构建

通过配置 GitLab + Jenkins Webhook,GitLab 中的代码提交或合并请求等事件可以自动触发 Jenkins 的构建任务,实现持续集成。借助此机制,开发者可以减少手动操作,提升项目的自动化程度和团队协作效率。

什么是Webhook?

Webhook 是一种基于 HTTP 的回调机制。当事件发生时,服务端会将该事件的信息通过 HTTP POST 请求的形式推送到预先设置的 Webhook URL。这种方式不需要客户端不断轮询服务端的状态,而是服务端在事件发生时直接将数据发送到客户端。这不仅节省了系统资源,还保证了数据的实时性。

GitLab 和 GitHub 都提供了 Webhook 功能,使得外部系统可以接收来自代码库的实时事件通知,比如代码推送、合并请求。在CI/CD自动化流程中常用的场景:当代码库中的代码更新时,自动触发 CI/CD 工具(如 Jenkins、GitLab CI、GitHub Actions 等)来进行代码构建、测试和部署。

GitLab+Jenkins配置Webhook触发任务构建

在使用 GitLab 和 Jenkins 进行持续集成和自动化部署时,Webhook 可以用来触发 Jenkins 任务(Job),当 GitLab 中的代码发生变更时,会自动通知 Jenkins 运行预设的构建流程。这种方式可以提高项目的开发效率和构建的自动化程度。

前提条件:

GitLab 和 Jenkins 服务均已搭建完成

GitLab服务器和Jenkins服务器网络能够相互ping通

Step1:在Jenkins中安装GitLab插件

进入到Jenkins系统管理->插件管理页面,搜索下载gitlab插件


Step2:在Jenkins中创建并配置任务

新建任务:

打开 Jenkins 主页面,点击“新建任务”。

输入项目名称,选择“构建一个自由风格的软件项目”或“Pipeline”项目,点击确定。

配置源码管理:

在 源码管理 一栏中选择 Git。

Repository URL中填写 GitLab 仓库的 URL 地址。

填写 GitLab 的登录凭证(即 GitLab 的用户名和访问 Token),以确保 Jenkins 有权限访问该仓库。


构建触发器:

勾选Build when a change is pushed to GitLab

点击Generate生成Secret Token,这个后续需要填写到Gitlab中用来鉴权



Step3:在GitLab中配置Webhook

打开GitLab项目,进入到设置->Webhooks->添加新的webhook:


在 URL 输入框中,填写 Jenkins 的 Webhook 接口地址,格式如下:

http://<JENKINS_URL>/project/<JOB_NAME>

例如,如果 Jenkins 的地址是 http://jenkins.example.com,Job 名称为 my-project,则填写的 URL 为 http://jenkins.example.com/project/my-project。

另外填写Secret令牌,也就是之前在Jenkins端生成的Secret Token

选择适合的触发事件(推送事件、标签推送事件、合并请求事件):

保存之后可以点击测试下:

如果显示都是200代表正常:

接下来通过通过git push提交代码库(或者可以提交MR),可以看到Jenkins端任务已经被GitLab webhook触发:

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.jsqmd.com/news/308195/

相关文章:

  • 黑苹果配置3步突破:用OpCore Simplify打造高性能游戏主机
  • 多线程下载引擎与跨平台文件管理:Ghost Downloader技术架构深度解析
  • IDM(Internet Download Manager)最新安装下载+永久免费版教程,一次安装免费使用
  • 学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机轴电压与轴电流抑制仿真
  • 学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机机械共振抑制仿真
  • 水泵噪音根治:FanControl三级降噪方案实现40%静音优化
  • 颠覆传统:智能化配置引领黑苹果OpenCore优化新革命
  • 3个步骤解锁Windows字体自由:用No!! MeiryoUI打造专属视觉体验
  • 2024新手必看:零基础掌握Mindustry开源塔防游戏安装与配置技巧
  • 解锁3D互动抽奖黑科技:3个场景焕新企业活动体验
  • 微信聊天记录解密与导出完全指南:从入门到精通
  • AI论文工具排名显示,6种兼具写作和降重功能的平台效果显著
  • 流媒体解析与视频本地化全攻略:探索m3u8_downloader的高效应用指南
  • 因果性与自洽性的统一,才是数学的意义和价值
  • mysql优化语句时,关注哪几列 extra要关注吗
  • 中央厨房工厂整包哪个品牌好?实力源头厂家与性价比优选综合指南
  • 国内导视系统设计制作公司哪家好?2026年5家硬核技术派深度解析
  • OpCore Simplify智能EFI构建工具完全指南:从硬件检测到系统优化的进阶之路
  • 解决MyBatis-Plus兼容性问题:从报错到修复的完整指南
  • 3个步骤掌握C++异步编程:构建高性能实时通信应用的核心技术
  • 软件测试之压力测试详解
  • 【院士报告、多高校联合组织、学术交流权威、EI 检索稳定且有保障 | SPIE出版 | 感知、控制与决策智能领域EI会议征稿】2026年感知、控制与决策智能国际学术会议(PCDI 2026)
  • 3步突破3DS文件传输瓶颈:极速无线方案实战指南
  • 提升Win性能和体验!开源电脑优化工具, 禁用广告提升运行速度,支持深度优化且无限制!RyTune
  • 解决下载速度慢与视频获取难:Persepolis多线程下载工具效率提升指南
  • 图片批量加水印神器,多种水印添加方式,文字水印,图片水印,满屏水印,永久免费使用,无需联网离线也可,完美保护隐私
  • 多模态大模型评测全景指南:从理解到生成的系统框架(建议收藏)
  • 小白也能学会:RagFlow让大模型应用成本降低99.6%,强烈收藏
  • 大模型Agent、Mamba、MoE、LoRA等热门研究方向全解析,460篇前沿论文免费领
  • 一文读懂统一多模态大模型:从编码到应用的全面指南