1、jenkins下载插件

GitLab Plugin (新版插件自带Gitlab Hook Plugin功能)
Gitlab Hook Plugin (新版本找不到)

2、配置触发器,主要获取GitLab webhook URL和密码令牌

jenkins配置GitLab webhook钩子程序,自动构建代码插图

jenkins配置GitLab webhook钩子程序,自动构建代码插图(1)

#GitLab webhook URL
http://172.24.4.59:9200/project/test
#密码令牌
862556d9ba2f7b0d1e4efd43f780d9b5

3、在Gitlab中配置webhook

Gitlab指定代码仓库-设置-Webhooks,将构建触发器中的webhook url复制到Webhooks地址栏中

jenkins配置GitLab webhook钩子程序,自动构建代码插图(2)

4、修改代码并提交新的标签,测试是否会自动构建

1、克隆代码并修改

jenkins配置GitLab webhook钩子程序,自动构建代码插图(3)

2、推送代码在打标签并提交

#暂存这次更新
git add . 
#将暂存区内容添加到本地仓库中
git commit -m 'lijia钩子'
#查看提交日志
git log --oneline

jenkins配置GitLab webhook钩子程序,自动构建代码插图(4)

#推送代码到gitlab,推送标签不会推送代码
git push origin  main

jenkins配置GitLab webhook钩子程序,自动构建代码插图(5)

#给本地仓库某次提交id打标签
git tag v1.0 f34d54d

jenkins配置GitLab webhook钩子程序,自动构建代码插图(6)

#查看提交的标签
git tag -ln

jenkins配置GitLab webhook钩子程序,自动构建代码插图(7)

 # 将标签推送到远程仓库
git push origin v1.0 

jenkins配置GitLab webhook钩子程序,自动构建代码插图(8)

3、查看效果

jenkins配置GitLab webhook钩子程序,自动构建代码插图(9)
jenkins配置GitLab webhook钩子程序,自动构建代码插图(10)
正在自动构建
jenkins配置GitLab webhook钩子程序,自动构建代码插图(11)
构建之前
jenkins配置GitLab webhook钩子程序,自动构建代码插图(12)
构建之后
jenkins配置GitLab webhook钩子程序,自动构建代码插图(13)

4、趟坑大全

坑一:“ Urlis blocked: Requests to the local network are not allowed”
将Jenkins构建触发器中提示的URL,配置到gitlab待测试项目的仓库下的webhooks中,保存时提示 “ Urlis blocked: Requests to the local network are not allowed”
jenkins配置GitLab webhook钩子程序,自动构建代码插图(14)
官方解释:http://docs.gitlab.com/ee/security/webhooks.html,大致意思就是Gitlab 10.6 版本以后为了安全,默认不允许向本地网络发送webhook请求,可以修改默认值

【解决办法】

以管理员身份在设置-网络-外发请求中勾选“允许Webhook和服务对本地网络的请求”
jenkins配置GitLab webhook钩子程序,自动构建代码插图(15)

本站无任何商业行为
个人在线分享 » jenkins配置GitLab webhook钩子程序,自动构建代码
E-->