3Jenkins+Gitlab配置Webhook实现提交自动部署

本文主要讲述如何使用Jenkins Gitlab设置WebHook实现自动部署 , 如果你不清楚请如何安装请访问我之前写的安装

了解使用请访问使用.

登陆Jenkins

选择对应的[Job]-构建触发器一栏

选中Build when a change is pushed to GitLab. 后面这个URL就是这个job 的webhook url,复制备用

3Jenkins+Gitlab配置Webhook实现提交自动部署_第1张图片

登陆GItlab

选择你的项目-setting-Integrations Settings

3Jenkins+Gitlab配置Webhook实现提交自动部署_第2张图片

ludzh > jenkins-gitlab-demo > Integrations Settings

3Jenkins+Gitlab配置Webhook实现提交自动部署_第3张图片

粘贴刚才复制的Webhook url,并选中Push events(默认), 

这里的意思是的当git项目发生push事件的时候会通知Jenkins抓取代码并构建

3Jenkins+Gitlab配置Webhook实现提交自动部署_第4张图片

其他选项默认就好,点击 Add webhook完成创建

3Jenkins+Gitlab配置Webhook实现提交自动部署_第5张图片

接下来gitlab报了一个错误,大概意思是本地url不受支持,经搜索发现gitlab好像在版本10之后出于安全考虑不允许添加本地的url作为webhook,

3Jenkins+Gitlab配置Webhook实现提交自动部署_第6张图片

出现这个错误可以用gitlab管理员账户登录管理界面

3Jenkins+Gitlab配置Webhook实现提交自动部署_第7张图片

进入Configure GitLab

3Jenkins+Gitlab配置Webhook实现提交自动部署_第8张图片

进入 Admin Area > Settings > Outbound requests

选中 Allow requests to the local network from hooks and services

Click Save changes 保存修改

3Jenkins+Gitlab配置Webhook实现提交自动部署_第9张图片

提示修改成功了

我们登出管理员账户使用自己的账户登录,重新设置刚才的webhook url 发现可以正常Add了

3Jenkins+Gitlab配置Webhook实现提交自动部署_第10张图片

现在来测试一下

这个我理解应该是触发一次Push 事件

3Jenkins+Gitlab配置Webhook实现提交自动部署_第11张图片

噢耶又报错了,报错比没反应强, 看错误403应该是鉴权的问题,这个倒是好解决,

我发现两个解决办法 一个是修改webhook url 在地址中添加Jenkins账号密码信息

比如我的web hook地址为 http://10.10.167.106:22000/project/jenkins-gitlab-demo

修改为 http://Jenkins账户:密码@10.10.167.106:22000/project/jenkins-gitlab-demo

删除刚才的添加的url,把修改后的url再添加一次


3Jenkins+Gitlab配置Webhook实现提交自动部署_第12张图片

再次测试一下,提示200 成功了

3Jenkins+Gitlab配置Webhook实现提交自动部署_第13张图片

现在去Jenkins那边看下是不是开始构建了,OK 是的

3Jenkins+Gitlab配置Webhook实现提交自动部署_第14张图片

另一种解决办法是将Jenkins的认证系统关闭也可以达到效果(反正是关闭登陆鉴权)

我觉得这种方法可以内部使用一下,各位看官如果有更好的解决办法烦请留言告知

3Jenkins+Gitlab配置Webhook实现提交自动部署_第15张图片

到此为止关于 Jenkins gitlab webhook的介绍完了 

谢谢

2018-07-10

你可能感兴趣的:(3Jenkins+Gitlab配置Webhook实现提交自动部署)