每次代码push后,还要去手动点jenkins构建,感觉这一步挺多余的,想省掉这一步。google了下,有很多种方式,这次采用gitlab的webhook来触发jenkins,实现自动构建。
版本
系统 centos 6.5
gitlab-8.2.3 及以上
jenkins 2.9 及以上
jenkins插件:
gitlab-plugin 1.4.5及以上。这个插件注意下,如果使用的是低版本的,可能会导致后面的配置中看不到 Build when a change 选项
步骤
1.jenkins安装gitlab-hook-plugin插件
访问https://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin,下载最新版本,进入到jenkins的系统管理->插件->高级,选择上传插件。点击上传后,jenkins会自动安装,安装完成后,重启下jenkins
2.配置jenkins
打开要自动构建的jenkins项目,找到构建触发器,勾选Build when a change is pushed to GitLab. GitLab CI Service,并记录下后面的url地址。
这里有个选项Accept merge request on success,它的作用是用来筛选分支,比如同一个项目中有多个分支,可能只想自动构建其中的一个,这时就可以通过它匹配,默认是构建所有的分支。
3.配置gitlab
进入gitlab项目管理界面,选择webhook,在url中输入刚才在jenkins配置界面复制那一个url,点击ADD WEB HOOK,之后再点击TEST HOOK,如果看到jenkins中有自动出现一个构建事件,即是配置成功了。
gitlab的版本迭代很快,界面也经常变,不管如何变,都是找到WEB HOOK的设置界面进行设置即可。以下界面仅供参考。