Jenkins+Gitlab webhook实现自动构建

最近在部署环境时遇到了一些问题,服务器上使用了Jenkins来自动构建。

原本设置的每天晚上2:00自动执行构建任务。但在开发调试时需要频繁部署,调整自动构建的时间为5分钟,但是又带来了不必要的构建,同时由于服务器配置不高,出现了上一次构建还没完成,又添加了新的构建任务。

简单修改为了轮询机制,每分钟查询一次是否有更新,有更新时才执行构建。用完感觉良好,但一段时间以后发现服务器非常卡,排查原因发现服务器一直在发请求(环境上部署的项目非常多)。

由于我们的代码放在私有的gitlab上,我想到了gitlab的webhook,在网上找了叫教程,实验成功,记录下操作过程。

这里已经安装好了jenkins环境,不在这里阐述,具体安装步骤可参考jenkins官网。

在jenkins的插件管理中找到Gitlab Hook Plugin进行安装,回到现有的构建任务调整配置,找到构建触发器,如下图:

复制Gitlab CI Service URL,这个地址就是webhook推送的地址。

下方展开还有更多关于需要构建的分支,过虑的规则等等,配置的说明都很详细。

打开gitlab中想要自动触发构建的项目,找到webhooks。(在一些老的版本中位置会有区别)

这里使用推送事件来出发,当然也可以设置推送标签时触发等等。

填入刚刚复制的链接并保存。可以看到如下界面:

点击测试-》Push events模拟一次推送事件。

这时候看到jenkins这边构建任务已经启动了。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部