多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
刚才我们看到在Jenkins的内置构建触发器中,轮询SCM可以实现Gitlab代码更新,项目自动构建,但是该方案的性能不佳。那有没有更好的方案呢? 有的。就是利用Gitlab的webhook实现代码push到仓库,立即触发项目自动构建。 ![](https://img.kancloud.cn/11/02/11026650f860c17e3211e5296ca50adc_780x383.jpg) <br/> 使用 git hook步骤如下: **1. Jenkins上安装两个插件:Gitlab Hook、GitLab** **2. Jenkins上设置构建触发器** ![](https://img.kancloud.cn/b9/da/b9da03a9cb491860c3b520a14b6d0f89_1546x818.jpg) **3. 取消 Enable authentication for '/project' end-point** 系统管理 -> 系统配置 -> ![](https://img.kancloud.cn/73/41/7341dfbed3e8632eaff960e4b04b7389_1223x291.jpg) **4. 到Gitlab上配置webhook** 注意:需要以`root`账号登录。 ![](https://img.kancloud.cn/b1/71/b1714f27b3e455ca04b51d328110820c_1558x845.jpg) **5. 在项目添加webhook** ![](https://img.kancloud.cn/6f/b3/6fb38d98053e7ddad2dde6abb0609a16_1405x352.jpg) ![](https://img.kancloud.cn/67/b6/67b6e14fc7376f17f65486e61cf7f5c5_1777x696.jpg) ![](https://img.kancloud.cn/3f/bc/3fbc6d0cb5c902680868b77ead9d8e41_1400x287.jpg) **6. 演示结果** 确实,当 gitlab 上的 web-demo-pipeline 项目发生改变,在 jenkins 上就自动构建了 web-demo-pipeline 任务。