当前位置:   article > 正文

Git提交代码至gitlab后触发Jenkins构建的配置方法_gitlab有代码提交 jenkins就开始构建

gitlab有代码提交 jenkins就开始构建

在这里插入图片描述

本文不再描述gitlab和Jenkins的搭建方法。

Git提交代码至gitlab后触发Jenkins构建的配置方法

1. 确保jenkins服务器可以克隆gitlab的代码

该步的作用为验证gitlab的ssh key已正确配置,代码push和clone操作正常。

2. 安装Git和Gitlab插件

在Jenkins首页点击Manage Jenkins --> Manage Plugins,切换至Available plugins,确保安装Git Plugin、Gitlab Plugin和Generic Webhook Trigger Plugin并启用。

3. 配置Gitlab插件

3.1 打开Gitlab,点击Preference settings --> personal access tokens(访问令牌)

此步如果没有Private token需要先添加一个。
在这里插入图片描述
【注】此处生成后需及时复制生成的Private token,过后将无法访问。

3.2 打开Jenkins,点击Manage Jenkins --> Configure System,配置Gitlab选项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置完成后,测试是否连接成功,点击Test Connection,返回success则成功。
在这里插入图片描述
之后点击页面底部的应用,再点击保存。

3.3 配置git插件

同3.2,切换至Git Plugin
在这里插入图片描述

在这里插入图片描述
点击底部的应用,再点击保存。

4. 配置Jenkins item

在这里插入图片描述

4.1 选择Freestyle project

在这里插入图片描述
点击确定,之后点击项目进入项目配置。

4.2 项目配置

4.2.1 选择Build when a change is pushed to Gitlab webhook URL,此处只选择了Push Events。

在这里插入图片描述

4.2.2 勾选comments,点击高级。

在这里插入图片描述

4.2.3 勾选Set build description to build cause(eg. Merge request or Git push)。Allowed branches可以配置指定分支,此处选择所有分支都可触发。

在这里插入图片描述

4.2.4 点击generate生成一个secret token,将其复制下来。

在这里插入图片描述
点击应用,再点击保存。至此Jenkins配置完成。

5. Gitlab配置项目钩子并绑定webhook

5.1 进入Gitlab项目设置 --> Webhook设置。

在这里插入图片描述
在这里插入图片描述

5.2 触发来源勾选推送(Push)

在这里插入图片描述

5.3 勾选Enable SSL verification,点击Add webhook.

在这里插入图片描述
【注】此时出现错误提示Url is blocked: Requests to the local network are not allowed.解决方案见问题记录1.
在这里插入图片描述

6. 测试webhook

在这里插入图片描述
可以看到,Jenkins已经自动获取到webhook的通知请求,并执行了构建。
在这里插入图片描述
查看项目控制台,可以看到如下信息:
在这里插入图片描述

问题记录

1. gitlab添加webhook提示Url is blocked: Requests to the local network are not allowed

解决方法: 进入管理中心 --> 设置 --> 网络,点击出站请求(Outbound requests)
在这里插入图片描述
勾选Allow requests to the local network from web hooks and services(允许来自web hooks和服务对本地网络的请求),点击保存修改。
在这里插入图片描述
之后回到webhook的设置界面,重复步骤5即可。

2. 同一台服务器上gitlab和Jenkins的同步问题

当gitlab和Jenkins搭建在同一台服务器上时,并不需要使用ssh或http进行代码克隆。

经过实践,当正确配置git仓库和credentials的时候,无需执行git clone命令,也可将仓库中的内容同步至Jenkins工作空间下,但当前还未发现指定路径的方法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/936422
推荐阅读
相关标签
  

闽ICP备14008679号