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

安装gitlab插件

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

登录gitlab,生成一个Personal Access Tokens

打开settings
向 GitLab 提交代码之后自动触发 Jenkins 构建_第2张图片
找到Access Tokens设置
向 GitLab 提交代码之后自动触发 Jenkins 构建_第3张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第4张图片
生成token
向 GitLab 提交代码之后自动触发 Jenkins 构建_第5张图片

进入Jenkins,添加api token

路径:首页 --> 凭据 --> 添加凭据
向 GitLab 提交代码之后自动触发 Jenkins 构建_第6张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第7张图片
添加api token
向 GitLab 提交代码之后自动触发 Jenkins 构建_第8张图片

进入Jenkins系统设置,配置gitLab

向 GitLab 提交代码之后自动触发 Jenkins 构建_第9张图片
添加,保存
向 GitLab 提交代码之后自动触发 Jenkins 构建_第10张图片

进入Jenkins项目,配置gitlab

向 GitLab 提交代码之后自动触发 Jenkins 构建_第11张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第12张图片
源码管理
向 GitLab 提交代码之后自动触发 Jenkins 构建_第13张图片
构建触发
向 GitLab 提交代码之后自动触发 Jenkins 构建_第14张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第15张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第16张图片

进入gitlab项目,添加webhook

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

IDEA push 前:
向 GitLab 提交代码之后自动触发 Jenkins 构建_第30张图片
向 GitLab 提交代码之后自动触发 Jenkins 构建_第31张图片
IDEA push 后:
向 GitLab 提交代码之后自动触发 Jenkins 构建_第32张图片

你可能感兴趣的:(jenkins,gitlab,gitlab)