gitlab push代码通过webhooks自动触发jenkins构建设置

1、环境设置:jenkins及gitlab安装好

2、jekins安装插件Gitlab Hook PluginGitLab Plugin

3、配置jenkins job,如下:


4.登录gitlab找到相应项目,编辑添加webhooks:



点击test,提示201,

5、其他提示:

gitlab的webhooks url 是根据jenkins构建权限连接设置的,如果必须登录才能构建就必须获取jenkins的用户名及token,可以在jenkins用户-设置里面查看到 ,url格式

http://<username>:<api-token>@<jenkins-server>/

如果不须登录就能构建就直接设置为http//jenkins-server/job/security_Usm/build?delay=0sec,security_Usm是job名称

test报错403错误时Hook executed successfully but returned HTTP 403,我们须要进入jenkins 系统设置-Configure Global Security中,关闭(去掉勾选: 防止跨站点请求伪造),然后在点击gitlab webhooks test OK 返回201 成功,查看jenkins 项目自动构建啦

这样设置仅仅是在push代码时触发构建,不区分分支,如果区分分支jenkins中设置如下:


蓝色线部分拷贝到gitlab的webhooks下,红线部分为构建分支的正则配置,这样在push代码的时候只有pushdevelop分支才会触发构建,push别的分支不会触发构建。