Jenkins最佳实践之webhook
# 一、概述
日常的开发持续集成过程中,我们通过jenkins的CI/CD通过构建实现自动化构建及发布,已经大大提升了我们工作效率,缩短上线周期,但是针对于每次提交都需要发布,我们也可以借助Jenkins的webhook功能,当我们提交代码时自动触发Jenkins构建操作,从而达到项目的构建及发布操作。
Jenkins的构建触发器有很多种,这里介绍下我们常用的几种,gitee、gitlab、github。
# 二、gitee自动化
# 2.1 Jenkins插件配置
Gitee自动化发布,我们需要在Jenkins上安装插件
Gitee Plugin
# 2.2 配置触发器
安装后,会在job配置页面的【构建触发器】中,有gitee webhook相关的选项,主要两个地方:一个是构建策略,一个是webhook密码
# 2.3 gitee仓库webhook配置
我们需要到gitee对应的代码仓库页面,找到仓库设置中的webhook
选项
注意
这里需要注意的是,URL
配置项,我上面配置的是一个内网地址,实际生产中我们必须配置一个公网可访问的地址(等同于jenkins需要开放0.0.0.0/0访问),否则gitee服务器访问不到,那么webhook就会配置失败。
# 2.4 测试
上面配置完成之后,我们返回Webhook创建页面,点击测试即可模拟事件触发webhook,然后回到jenkins所对应的job页面查看是够正常自动发布即可
查看jenkins页面
# 三、gitlab自动化
GitLab是一个全面的平台,涵盖了软件开发生命周期的各个方面,并支持开发团队之间的协作,被个人、小团队和大型企业广泛使用,gitlab配置步骤与gitee基本一致,都是先在Jenkins安装插件,然后在代码仓库里面配置对应的地址即可。
# 3.1 Jenkins插件配置
去插件中心安装
Gitlab
插件,插件名可能不同的版本会有所差别,安装的时候注意下就行
# 2.2 配置触发器
这几勾选后,其他默认即可
高级配置项中生成token,仓库代码处使用
# 2.3 gitlab配置
这里与gitee有些差别,我们需要先允许钩子在外部访问
代码仓库配置,配置相关参数后,点击下面保存即可
配置项解读
- 链接(URL): jenkins job页面对应的地址
- 安全令牌: 这里就是上面生成的token
- 触发器: 默认都是代码推送事件
# 2.4 测试
这里选择时间测试的时候,需要保证该事件是存在的,否则有可能不会正常触发
注意
这里也需要注意,我们需要保证Gitlab服务器可以正常访问到Jenking地址,否则还是无法触发自动化发布,不过这里因为大多数gitlab都是我们自己部署搭建的,因此我们可以指定授权jenkins服务访问(开放指定端口即可),可以大大提高jenkins的安全性(不用完全暴露至公网)。