【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。

posted @ 2019-03-19 17:45  _chy  阅读(9273)  评论(1编辑  收藏  举报