配置步骤
在Jenkins端安装Gitlab触发器插件,安装完成后重启Jenkins生效。
在Jenkins job中配置触发器,选择“Build when a change is pushed to Gitlab......”,并记住webhook URL。
在Gitlab中配置webhook,指定代码仓库-设置-Webhooks,将构建触发器中的webhook url复制到Webhooks地址栏中。
测试webhook,新建完成后,Project Hooks中会显示新创建的webhook,点击右侧下拉框中的“测试”,发送请求测试与Jenkins之间的连通性。若返回200,则说明连通性正常。
配置步骤与问题解决
“Urlis blocked: Requests to the local network are not allowed”问题的解决方法是修改默认值,以管理员身份在设置-网络-外发请求中勾选“允许Webhook和服务对本地网络的请求”。忘记Gitlab管理员密码可以重置,通过一些途径找回。Gitlab管理员勾选“允许Webhook和服务对本地网络的请求”保存时报错500,解决方法是更新Gitlab设置,进入gitlab命令行,依次执行相关命令。gitlab添加Webhook后,测试发送请求,提示401,解决方法是在Jenkins用户-设置-API TOKEN中增加一个token,并在gitlab的webhook中配置。gitlab添加Webhook后,测试发送请求,提示403,解决方法是在Jenkins系统设置中取消勾选“Enable authentication for '/project' end-point”。gitlab添加Webhook后,测试发送请求,提示500,解决方法是URL最后要加个build。gitlab测试发送请求,返回200,但是提交代码未触发Jenkins构建,解决方法是URL最后要加个build。Jenkins被webhook多次无规律触发构建,解决方法是将webhook配置在gitlab的待测试项目的代码仓库下。
测试Webhook
提交代码,验证webhook,Jenkins已经成功触发了构建。
总结与思考
在利用Gitlab的webhook钩子触发Jenkins自动执行构建的过程中,可能会遇到多种常见与不常见问题,解决这些问题的过程不仅考验了配置技能,也是对问题排查能力的锻炼。在实际操作中,遇到问题时,应保持冷静,通过网络资源、同行交流、日志分析等方法逐步排查,直到找到解决方案。此过程不仅有助于提高解决问题的能力,也对个人成长具有重要意义。总结经验,思考解决方案,不仅适用于Gitlab和Jenkins环境,更适用于其他环境搭建、软件工具使用、代码运行过程中的疑难问题。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。