【Jenkins】自动触发部署之插件Generic Webhook Trigger Plugin
一、安装好插件
二、构建触发器会出现设置trigger的入口
三、设置的两个部分
第一:
Jenkins的这个触发器,这里主要是接受post数据。其中Post content parameters是用来设置匹配post数据中的字段名和字段内容,而图中的ref为字段名,必须是post数据中的一个变量/字段,$.ref表示这个变量的内容。当然,根据开发的要求,结合post数据,这里可以增加多个字段。
第二:
结合第一部分里设置的变量,就会在这里的Optional filter里用到,图中可以看到Text有三个用下划线隔开的变量,都是post数据中的字段,分别为ref、created、project.git_ssh_url,分别表示tag名,是否新建tag,仓库的git地址。Expression中是三个变量的内容,里面有使用正则表达,整个意思是匹配到 在地址为git@........git的仓库里 新建标签,并且标签包含dev- 就触发job的构建。
这里贴一小部分post数据:
{ "ref": "refs/tags/master-1.0.1", "before": "fd83c6e98e4ba3a356922b40ea2584147dbde47d", "after": "00000000", "created": false, "deleted": true, "compare": "https://gitee.com/gym_op/sms/compare/fd83c6e98e4ba3a356922b40ea2584147dbde47d...00000000", "commits": [], "head_commit": null, "repository": { "id": 3555310, "name": "sms", "path": "sms", "full_name": "gym_op/sms", "owner": {
四、码云上仓库设置webhook
填写上图中的url---POST地址,http://Jenkins用户名:密码@Jenkins地址/generic-webhook-trigger/invoke(eg:http://admin:123456@192.168.1.2:8080/generic-webhook-trigger/invoke),密码已经写在url里了,就不需要再填了。选择事件,是用来触发发送post数据的,只要开发人员执行了选中的事件,然后发送数据到Jenkins,Jenkins的trigger收到数据后就用之前设置的变量开始过滤判断是否触发job。