gitlab的webhook触发jenkins的job

avatar 2023年2月25日18:13:18 评论 405 次浏览

今天安装了一个新版本的jenkins,原本想把gitlab通过webhook触发jenkins的job的,但是新版本的jenkins没有Build when a change is pushed to GitHub,后来才知道在新版本里GitHub hook trigger for GITScm polling==Build when a change is pushed to GitHub,以前没有安装新版本就认为是假的,如果是老版本的可以参考:https://www.wulaoer.org/?p=1504,新版本如果想安装GitHub hook trigger for GITScm polling,离线安装可以在这里下载https://mirror.xmission.com/jenkins/plugins/generic-webhook-trigger/1.86.2/generic-webhook-trigger.hpi注意版本,安装成功后就有了。

这里注意,在generic webhook trigger下有一个HTTP,还有一个token,这就是webhook触发的url,我们组合成一个url

 http://172.16.10.51:8008/generic-webhook-trigger/invoke?token=test-1

下面想让哪个项目触发这个job,就在哪个项目的webhook中添加即可。

这里注意,如果勾选tag push events在gitlab中打tag不管是不是test开头的都会触发jenkins的job,如果不勾选,在任何分支打test开头的tag都会触发job包含在test分支中合并代码。

添加之后保存,在下面有一个test可以测试,tag push events一下,在最上面有一个 Hook executed successfully: HTTP 200,如果不是200,那就是jenkins的token有问题,下面看一下jenkins是否触发。

我是因为测试很多次,所以不要介意jobID数,至于job中如何设置就不说了,不同的环境有不同的设置方法,前面一张也说了kubernetes的设置方法,不过也可以用到传统模式中,构建到时候选择shell即可,这里要注意如果批量部署还是选择ansible,ansible可以参考:https://www.wulaoer.org/?p=1706 没有了,先写到这里吧,可以看看其他的。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: