Generic Webhook Trigger 自动化构建jenkins
1、概述
自动触发jenkins,我们希望是根据自己需要的分支构建才自动触发,有选择性构建,而不是全部构建,故有以下插件处理,Generic Webhook Trigger ,可以根据条件做过滤处理。
- 其实整体思路和github webhook差不多
其他步骤可以参考这篇文章,核心看这篇
github-webhook自动触发jenkins构建
2、安装Generic Webhook Trigger插件
3、配置jenkins构建触发器
其余配置参考上面的文章
只讲构建触发器配置
- 勾选下面 并且填入ref变量
Generic Webhook Trigger主要有: Post content parameters、 Header parameters、Request parameters和Optional filter这几个组成。
其中,Post content parameters是对POST请求数据的处理,其他 Header parameters、Request parameters类似,这些都是匹配请求数据中的param,他会判断是否具有指定的这个参数,具体介绍如下:
2、对于,上图中(1)(2)(3)(4)解释如下:
(1)筛选参数的变量名,这里是ref;
(2)表达式Expression,使用$.ref
表示请求数据中的ref属性,注意这里有一个点;
(3)Optional filter的Expression表示,在Post content
parameters的Expression中匹配到的数据的格式是否匹配,既是与$.ref
匹配的数据。这里应该是先确定触发器的名称,就是(4)中指定的变量;
(4)指定触发器的名字;总的来说,通过(1)(2)(3)(4)的设置,将请求中的
ref
属性的值和Optional
filter的表达式Expression进行比较,如果匹配则触发Jenkins构建,如果不匹配则不触发。
触发器配置大致如上就行了
4、配置github
5、验证
代码推送了master分支 则自动触发
6、多个项目同时存在的问题
如果你的Jenkins配置了多个Job的话
你可能会发现,使用上边的配置触发指定分支进行自动构建的时候,如果这两个项目都满足了ref 条件,也就是说都有这个分支的话,那么这两个项目都会进行触发!这肯定是不正确的,因此要进行相应的修改,其实Generic Webhook Trigger插件的Post content parameters可以配置多个参数的,因此,我们需要从Git Post Data里边找出来一个可以标识项目的参数名。
- 查看具体的project参数数据,可以看出一下有几个参数可以作为标识唯一项目的
- repository.full_name 可以用来做仓库判断
触发后携带了信息过去
{"jobs":{"blog":{"regexpFilterExpression":"^(refs/heads/master)_(dengzhifeng/blog)$","triggered":true,"resolvedVariables":{"ref":"refs/heads/master","repository.full_name":"dengzhifeng/blog"},"regexpFilterText":"refs/heads/master_dengzhifeng/blog","id":24,"url":"queue/item/24/"}},"message":"Triggered jobs."}
以上匹配就能触发了!完美!
7、总结
和github webhook原理差不多, 都是服务器互相通信请求触发, 但是generic webhook多了一个分析的步骤, 可以拿到post content内容再做解析, content如下 拿到ref代表的分支就能判断是否触发jenkins了。
如果上面步骤漏了一些前置的配置 可以参考这篇文章
github-webhook自动触发jenkins构建
配置时只是中间不一样 前后都一样。
Generic Webhook Trigger 自动化构建jenkins相关推荐
- Jenkins+Gitlab+Generic Webhook Trigger插件
目标: 1.Git被提交代码到对应分支,Jenkins对应的分支触发构建 (原来的方法是设定每分钟轮询的,这种方法能用但是不好). 2.使用Pipeline脚本 方法: 使用Jenkins插件Gene ...
- 【Jenkins插件】之Generic Webhook Trigger
Generic Webhook Trigger 是一款Jenkins插件,安装后会暴露出来一个公共API,该插件接收到 JSON 或 XML 的 HTTP POST 请求后,根据咱们配置的规则决定触发 ...
- Jenkins + Generic Webhook Trigger + GitLab自动化部署流程配置
Jenkins 插件安装与配置 登录Jenkis 进入插件管理并下载插件Generic Webhook Trigger jenkins系统配置中给GitLab授权 进入系统配置 找到并启用gitlab ...
- Generic Webhook Trigger 实现特定提交触发自动构建
Generic Webhook Trigger 实现特定提交触发自动构建 Jenkins与Gitlab联动可以通过webhook的方式来完成,gitlab上自带的webhooks 看似触发方式这么多, ...
- Jenkins Generic Webhook Trigger 插件使用
Coding项目 Webhook 设置 1.进入项目设置 => 开发者选项 => Service Hook => 新建Service Hook 2.根据你的项目选择不同的事件触发类型 ...
- Jenkins: 使用Generic Webhook Trigger 插件配置webhook
Jenkins: 使用Generic Webhook Trigger 插件配置webhook 一.安装Generic Webhook Trigger 插件 插件管理中安装 二.Jenkinsfile ...
- Generic Webhook Trigger 远程触发
jenkins安装Generic Webhook Trigger插件 然后配置如下 最后送上pipeline完整脚本 pipeline {agent anyoptions{ timestamps () ...
- 使用Jenkins配置SpringBoot的自动化构建
相关阅读 1.使用Jenkins配置Git+Maven的自动化构建 2.Jenkins部署Maven多环境项目(dev.beta.prod)的参数设置 3.使用Generic Webhook Trig ...
- 码云Webhook触发Jenkins自动构建 - Jenkins演练(一)
今天自己看着插件文档摸索了一下,实现了git push后Webhook自动触发Jenkins进行代码构建,可通用gitlab.github等平台,中文关于这方面自动部署的文档比较少,所以把我的学习过程 ...
最新文章
- 循环小数是分数集合吗_2020年部分CFA国外考场取消,通过率会受影响吗?
- 基于HTML5实现的(本地存储)多标签页面元素的复制粘贴
- 【Redis】12.Redis删除策略
- linux db2 ssl,IBM DB2 Content Manager V83与手工配置SSL
- 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件...
- mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常
- 求1+2+…+n变态问题的两个很棒的解法
- Fedora 24 x86 安装VirtualBox
- 微软社区大课堂 - Transform the Datacenter (数据迁移与Windows Server )社区巡讲- 北京站...
- Dev ChartControl 显示设置百分比
- python怎么接管浏览器_用python操作浏览器的三种方式
- SketchUp LayOut 剪贴簿制作技巧
- 一款完全仿照E盾的源码(服务端+代理端+客户端)
- python爬取网页的内层页_python爬取网页 下一页
- 展讯sprd_battery.c 充电驱动
- GPU编程 CUDA C++ 数组归约的示例和解释
- 刘墉写给女儿的 忠告
- 老人与海好词100英文带翻译_The_Old_Man_and_The_Sea_老人与海_中英文对照版_(good)
- Android studio模拟器尺寸和真机不一样的原因
- 百度快照被劫持 标题描述被篡改的处理过程
热门文章
- javac 和 javap工具详解
- 5G时代,视频到底是不是下一个移动互联网的风口?
- AI公开课:19.03.27韦韬—百度CSS《AI产业面临的安全威胁与挑战》课堂笔记以及个人感悟
- uniapp 离线打包
- Linux内存从0到1学习笔记(6.6,物理内存初始化之预留内存)
- 低亮度人脸检测、附源码——CVPR2021之 Low Light Face Detection【一文读懂】
- 计算机网络无权限,无法访问您可能没有权限使用网络资源
- Android点击事件、下拉菜单、单选框实例
- clipboard实现复制粘贴功能,解决复制成功多次弹出问题.
- STM32 PLC底层Keil源码 实现三菱FX2N