之前讲过如何实现jenkins代码部署,但每次提交/合并后都需要点击部署按钮,手动部署较为不便,所以就多加了个钩子,自动触发,但要注意的是,代码最好写完整再一次性push。
1.jenkins钩子回调
jenkins钩子作用,就是在当代码提交后,调用jenkins回调方法,让jenkins去构建部署。
1.安装Jenkins插件
本文演示在gitlab提交后的回调,github等其他可以下载相对应插件和配置对应的触发器即可。 插件管理搜索 gitlab plugin,进行安装。
token在gitlab页面生成获取。
2.构建触发器
然后选择你想自动部署的项目,进入触发器,就会发现多一个gitlab回调的地址,选择运行回调的事件,如push events等。将 webhook URL后的链接保存下来,后面使用
-
配置完以上,提交代码还是无法触发自动部署的,原因是gitlab是publisher而jenkins是observer,当gitlab接收到代码提交后要发出 【部署event】给jenkins才可以接受到。
-
点击构造器右下角的高级按钮
-
生成token,不同项目token和回调地址不一样。
2.gitlab回调
进入到你想自动部署的项目,选择设置-集成
保存,然后就可以测试触发不同事件时jenkins的部署。
总结
最初配置时,错以为只需要在jenkins配置gitlab token和项目地址就可以自动监控项目的变动情况,实现部署,后面发现jenkins只能被回调后去构建,而不能主动去监控。本质也是观察者模式,gitlab触发器发起事件给jenkins的触发器进行项目部署。当然内部还有很多功能,如不同分支的代码提交是否触发构建等,根据实际需要配置即可。
评论