在《Jenkins:常用的构建触发器》中,我们说了Jenkins的4种内置构建触发器。其中轮询SCM可以实现Gitlab代码更新时,项目自动触发构建。但是该方案的性能不佳,因为需要定时扫描整个项目的代码。那有没有更好的方案呢?答案是有的。那就是利用Gitlab的webhook实现代码push到仓库,立即触发项目自动构建。
- 轮询SCM原理示意图
- webhook原理示意图
1. 安装Gitlab Hook插件
需要安装两个插件:Gitlab Hook
和Gitlab
。
2. Jenkins设置
- 配置工程,使其能够实现自动构建
- 取消启用
/project
端点授权(Manage Jenkins->Configure System)
3. Gitlab配置webhook
- Gitlab中开启webhook功能
使用root账户登录到后台,点击:Admin Area -> Settings -> Network
,勾选:Allow requests to the local network from web hooks and services
- Gitlab中添加项目webhook地址
点击:项目->Settings->Webhooks
。
至此,当我们提交代码时,就会自动触发Jenkins的工程构建。
网友评论