早几年的版本我们还是用gitlab + gitlab hook插件来实现的,最近偶然发现gitlab hook插件没了,现在换成了Generic Webhook Trigger(GWT)
首先第一步,Jenkins安装GWT插件: 由于我这里已经装好了所以就不演示了,应该都会装(名字一输就出来了,安装后不用重启jenkins)
新建项目或者是重新设置项目: (由于是演示,所以我这里选择重新建一个名叫hello的freestyle的项目)
源码管理选择git,http方式和ssh方式随便,看个人,凭据那一块我就不讲了,能看这篇文章的基本上都是有基础的
构建触发器这里我们选择GWT
新增一个Post content parameters,用于匹配http请求字段
声明一个token,这个是要跟在url后面用来定位jenkins项目的,可以是其它值,我这里就随便写个hello 保存即可,Jenkins这边就配置完成了。
接下来要配置gitlab: 用户界面->setting->network->点开"Outbound requests"->将图中第一个选项选中->save
项目界面->setting->Integrations->填写url->勾选"Push events"->Add Webhook
url这一块的规则不懂的可以查一下,非常容易理解
拉到下面可以看到刚刚添加的webhook,测试一下
出现200状态码说明成功了
现在只要gitlab上面的项目出现了变更,jenkins就会自动把gitlab的项目拉取过来 我们看一下Jenkins的hello下面的工作空间,是没有项目文件的:
我们去gitlab的项目里做一些改动,比如我们在项目里新建一个test.txt的空文件:
再回到Jenkins上看hello项目里面时,工作空间已经出现了整个项目