news 2026/2/7 11:45:13

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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触发:

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 6:58:42

Shell中的父子进程关系

文章目录 示例1:最简单的父子进程创建 示例2:通过`()`创建子shell 示例3:后台任务和进程组 示例4:管道创建子进程 示例5:进程替换 示例6:信号处理演示 示例7:使用`exec`替换进程 示例8:监控父子进程资源 运行和观察 关键概念总结 我来通过几个实例演示Shell中的父子进程…

作者头像 李华
网站建设 2026/2/7 3:09:08

安达发|原料波动大,订单杂?APS软件系统,让粮食加工从容应对

在粮食加工行业的生产车间里&#xff0c;机器轰鸣&#xff0c;一袋袋粮食被源源不断地送进生产线。然而&#xff0c;如何高效地安排生产计划&#xff0c;让每一粒粮食都能在最合适的时间、以最优的方式被加工&#xff0c;成为了众多粮食加工企业面临的难题。而APS软件系统&…

作者头像 李华
网站建设 2026/2/6 23:25:22

收藏!2026年AI深化落地:大模型重塑开发生态,程序员转型必看指南

2026年以来&#xff0c;AI技术从“概念爆发”迈入“规模化落地”深水区&#xff0c;不仅重构了千行百业的数字化路径&#xff0c;更在颠覆程序员的职业生态与核心竞争力边界&#xff1a; 阿里云升级多智能体协同体系&#xff0c;实现核心业务端到端AI闭环运营&#xff0c;效率提…

作者头像 李华
网站建设 2026/2/3 8:19:34

收藏级!大模型领域转行全攻略:从零基础到实战落地

对于想切入AI风口的程序员、技术小白而言&#xff0c;大模型领域无疑是当下最具潜力的赛道。本文整理了一份体系化转行指南&#xff0c;覆盖方向选择、知识储备、技术深耕、实战落地全流程&#xff0c;帮你少走弯路&#xff0c;稳步迈入大模型领域。 一、精准定位&#xff1a;选…

作者头像 李华
网站建设 2026/2/4 18:45:34

GLM-Z1-32B开源:320亿参数AI实现深度思维突破

GLM-Z1-32B开源&#xff1a;320亿参数AI实现深度思维突破 【免费下载链接】GLM-Z1-32B-0414 项目地址: https://ai.gitcode.com/zai-org/GLM-Z1-32B-0414 导语&#xff1a;GLM系列最新开源模型GLM-Z1-32B-0414正式发布&#xff0c;以320亿参数规模实现深度思维能力突破…

作者头像 李华
网站建设 2026/2/6 14:43:31

水泵噪音根治:FanControl三级降噪方案实现40%静音优化

水泵噪音根治&#xff1a;FanControl三级降噪方案实现40%静音优化 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…

作者头像 李华