早几年的版本我们还是用gitlab + gitlab hook插件来实现的,最近偶然发现gitlab hook插件没了,现在换成了Generic Webhook Trigger(GWT)

首先第一步,Jenkins安装GWT插件: image.png 由于我这里已经装好了所以就不演示了,应该都会装(名字一输就出来了,安装后不用重启jenkins)

新建项目或者是重新设置项目: image.png (由于是演示,所以我这里选择重新建一个名叫hello的freestyle的项目)

image.png 源码管理选择git,http方式和ssh方式随便,看个人,凭据那一块我就不讲了,能看这篇文章的基本上都是有基础的

构建触发器这里我们选择GWT image.png

新增一个Post content parameters,用于匹配http请求字段 image.png

声明一个token,这个是要跟在url后面用来定位jenkins项目的,可以是其它值,我这里就随便写个hello image.png 保存即可,Jenkins这边就配置完成了。

接下来要配置gitlab: 用户界面->setting->network->点开"Outbound requests"->将图中第一个选项选中->save image.png

项目界面->setting->Integrations->填写url->勾选"Push events"->Add Webhook

url这一块的规则不懂的可以查一下,非常容易理解

image.png

拉到下面可以看到刚刚添加的webhook,测试一下 image.png

出现200状态码说明成功了 image.png

现在只要gitlab上面的项目出现了变更,jenkins就会自动把gitlab的项目拉取过来 我们看一下Jenkins的hello下面的工作空间,是没有项目文件的: image.png

我们去gitlab的项目里做一些改动,比如我们在项目里新建一个test.txt的空文件: image.png image.png

再回到Jenkins上看hello项目里面时,工作空间已经出现了整个项目 image.png