gitlab+jenkins 利用webhook自动构建代码

每次代码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,它的作用是用来筛选分支,比如同一个项目中有多个分支,可能只想自动构建其中的一个,这时就可以通过它匹配,默认是构建所有的分支。

如果是新版本的jenkins,比如2.138.1,需要对权限进行设置,否则gitlab会收到403错误,无法触发构建。
第一种方式是开启匿名用户读取的权限:
点击系统管理->全局安全配置->勾选 匿名用户具有可读权限

如果jenkins是暴露在公网的话,这种方式不安全,推荐用第二种方法Secret token。
在jenkins项目的Build when a change is pushed to GitLab.配置中,选择高级,找到Secret token,点击Generate,将生成的token记录下来,之后配置webhook时会用到。

3.配置gitlab

进入gitlab项目管理界面,选择webhook,在url中输入刚才在jenkins配置界面复制那一个url,点击ADD WEB HOOK,之后再点击TEST HOOK,如果看到jenkins中有自动出现一个构建事件,即是配置成功了。
gitlab的版本迭代很快,界面也经常变,不管如何变,都是找到WEB HOOK的设置界面进行设置即可。以下界面仅供参考。

如果jenkins的项目中配置了Secret token,并且webhook的配置界面中有Secret Token的选项,则可以将刚才生成的token填入Secret Token中,保存配置即可。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值