向 GitLab 提交代码之后自动触发 Jenkins 构建

安装gitlab插件

在Jenkins服务器中,安装GitLab和GitLab Hook
向 GitLab 提交代码之后自动触发 Jenkins 构建

登录gitlab,生成一个Personal Access Tokens

打开settings
向 GitLab 提交代码之后自动触发 Jenkins 构建
找到Access Tokens设置
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
生成token
向 GitLab 提交代码之后自动触发 Jenkins 构建

进入Jenkins,添加api token

路径:首页 --> 凭据 --> 添加凭据
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
添加api token
向 GitLab 提交代码之后自动触发 Jenkins 构建

进入Jenkins系统设置,配置gitLab

向 GitLab 提交代码之后自动触发 Jenkins 构建
添加,保存
向 GitLab 提交代码之后自动触发 Jenkins 构建

进入Jenkins项目,配置gitlab

向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
源码管理
向 GitLab 提交代码之后自动触发 Jenkins 构建
构建触发
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建

进入gitlab项目,添加webhook

进入GitLab,打开项目 --> settings --> Integrations
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
提示webhook无法保存:Url is blocked: Requests to the local network are not allowed
向 GitLab 提交代码之后自动触发 Jenkins 构建
解决方案:需要使用管理员帐号登录,进入Admin area,在Admin area中,在settings标签下面,找到OutBound Request,勾选上Allow requests to the local network from hooks and services ,保存更改即可解决问题
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
用户登录,找到项目,重新添加Webhooks
向 GitLab 提交代码之后自动触发 Jenkins 构建
验证push事件是否可以触发
向 GitLab 提交代码之后自动触发 Jenkins 构建
成功:Hook executed successfully: HTTP 200
向 GitLab 提交代码之后自动触发 Jenkins 构建
到此,触发器配置成功,开发一旦有提交代码,就会自动构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
测试IDEA提交代码到gitlab后,jenkins是否会自动构建

IDEA push 前:
向 GitLab 提交代码之后自动触发 Jenkins 构建
向 GitLab 提交代码之后自动触发 Jenkins 构建
IDEA push 后:
向 GitLab 提交代码之后自动触发 Jenkins 构建