Jenkins钩子实现代码提交/合并时自动部署

之前讲过如何实现jenkins代码部署,但每次提交/合并后都需要点击部署按钮,手动部署较为不便,所以就多加了个钩子,自动触发,但要注意的是,代码最好写完整再一次性push。

1.jenkins钩子回调

jenkins钩子作用,就是在当代码提交后,调用jenkins回调方法,让jenkins去构建部署。

1.安装Jenkins插件

本文演示在gitlab提交后的回调,github等其他可以下载相对应插件和配置对应的触发器即可。 插件管理搜索 gitlab plugin,进行安装。 在这里插入图片描述

在这里插入图片描述

token在gitlab页面生成获取。

在这里插入图片描述

2.构建触发器

然后选择你想自动部署的项目,进入触发器,就会发现多一个gitlab回调的地址,选择运行回调的事件,如push events等。将 webhook URL后的链接保存下来,后面使用

在这里插入图片描述

  1. 配置完以上,提交代码还是无法触发自动部署的,原因是gitlab是publisher而jenkins是observer,当gitlab接收到代码提交后要发出 【部署event】给jenkins才可以接受到。

  2. 点击构造器右下角的高级按钮

  3. 生成token,不同项目token和回调地址不一样。

在这里插入图片描述

2.gitlab回调

进入到你想自动部署的项目,选择设置-集成

在这里插入图片描述

在这里插入图片描述

保存,然后就可以测试触发不同事件时jenkins的部署。

在这里插入图片描述

总结

最初配置时,错以为只需要在jenkins配置gitlab token和项目地址就可以自动监控项目的变动情况,实现部署,后面发现jenkins只能被回调后去构建,而不能主动去监控。本质也是观察者模式,gitlab触发器发起事件给jenkins的触发器进行项目部署。当然内部还有很多功能,如不同分支的代码提交是否触发构建等,根据实际需要配置即可。

end
  • 作者:Endwas(联系作者)
  • 发表时间:2022-03-23 10:25
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:如果是转博主转载的文章,请附上原文链接
  • 公众号转载:请在文末添加作者名字和博客地址
  • 评论