前提:需要安装Gitlab Hook插件
1、创建类型为maven的任务
2、参考手工构建中的任务配置信息,配置参数、源码管理、邮件配置、执行脚本命令等
但是源码这里,有别于手工配置任务,此处写死了为develop,因为此任务主要就是拉取develop分支进行开发环境发布
3、配置触发器构建【重点】
- 勾选构建触发器下的gitlab事件构建,此处的场景时是接收gitlab合并事件,所以只勾选了accepted merge request events
- 点开高级选项,设置允许的分支,此处设置的正则表达下的控制,如果合并请求的目标分支中包含develop,才处理该合并事件,对应的业务场景时发版开发环境,即拉取开发分支的代码
4、配置gitlab事件即webhook
当我们勾选构建触发器下的gitlab事件构建时,可以看到一个连接GitLab webhook URL: http://xx.xx.xx.xx:8080/jenkins/project/jenkins-demo-dev,我们需要将该链接维护到gitlab对应项目下的webhook处
此处我们只接受合并请求事件
5、测试webhook事件
点击测试,若返回200,则事件推送成功,可前往jenkins任务查看是否有构建正在进行
默认情况下其实会返回401错误,此时需要在jenkins中系统管理-全局安全设置中,去除下图的勾选
6、如上配置之后,当我们有合并请求到develop分支,且合并请求被接受之后,jenkins会自动拉取develop代码进行集成