jenkins-Generic Webhook Trigger指定分支构建

文章目录

  • [1 需求分析](#1 需求分析)
      • [1.1 关键词 :](#1.1 关键词 :)
  • [2、webhooks 是什么?](#2、webhooks 是什么?)
  • 3、配置步骤
    • [3.1 github 里需要的仓库配置:](#3.1 github 里需要的仓库配置:)
    • [3.2 jenkins 的主要配置](#3.2 jenkins 的主要配置)
    • [3.3 option filter配置用于匹配目标分支 实现指定分支构建](#3.3 option filter配置用于匹配目标分支 实现指定分支构建)

1 需求分析

一个项目一般会开多个分支进行开发,测试,发布。

例如dev 分支,test分支, prod 分支。 那么想达到这样的一个效果:dev分支写的代码push后不触发Genkins构建,只有test分支push才触发Genkins构建。那该怎么配置呢?

1.1 关键词 :

application/json
option filter ,
$.ref


2、webhooks 是什么?

WebHooks是一种用于实现实时通信和事件触发的机制。它允许应用程序将数据传送到另一个应用程序,而不需要定期轮询或等待请求。当特定事件在一个应用程序中发生时,WebHooks会向另一个应用程序发送一个HTTP请求,并将相关的数据传递过去。这种机制可用于实现各种功能,例如实时数据同步、自动化流程触发、通知和提醒等。

这里我使用是github webhooks , 与 gitlab webhooks使用大同小异。想要的效果:当test分支的代码被Push,触发Jenkins构建代码。

3、配置步骤

3.1 github 里需要的仓库配置:


注意了,这一步关键 ,上图content type 设置为上图 aplication/x-www-form-unlrencoded

返回的格式 带有payload。 这时候表达式是设置为 .payload\[0\] ,而我们的表达式是 .ref 需要把content type配置为 application/json

3.2 jenkins 的主要配置

github webhooks 里content type配置为 application/json 返回格式下图:

上面console output 中 : Generic Cause 的字样,received 返回打印需要按下图配置与勾选print post content 和 print contribute variables

这时候我们就可以 用 $.ref ,意思是取返回对象里面ref 的值,正常打印是 "refs/heads/dev", "refs/heads/test" 之类的表示不同分支

3.3 option filter配置用于匹配目标分支 实现指定分支构建

下面 ^(refs/heads/test)$ 就是 匹配 r e f ( 也就是上面配置 ref (也就是上面配置 ref(也就是上面配置.ref ,取到返回对象的ref的值 "refs/heads/dev", "refs/heads/test" 之类的 ,正则匹配的是test分支,也就是test分支才会构建)

我们也可以在github webhooks 查看表达式(regexpFilterExpression),是否匹配,是否触发构建(triggered 字段为true 是触发构建的意思,false则不触发)

这样需求就大致实现了


相关推荐
Faith_xzc43 分钟前
Apache Doris 元数据运维深度解析:从架构原理到故障实战
大数据·运维·doris
kdxiaojie1 小时前
Linux 驱动研究 —— V4L2 (3)
linux·运维·笔记·学习
facaixxx20241 小时前
雨云游戏服务器MCSM面板指南:低延迟BGP线路(一键开服)
运维·服务器·游戏
海兰1 小时前
【Elasticsearch】工作流自动化评估
elasticsearch·自动化·jenkins
焦点链创研究所1 小时前
算力核心机器人将于 7 月 18 日发布
运维·服务器·机器人
智码看视界1 小时前
Tomcat架构深度拆解:Connector和Container到底怎么配合的?
java·servlet·架构·tomcat·web服务器
Starry-sky(jing)2 小时前
如何判断 Windows 是否安装 Node.js:三种方法 + 常见漏判场景
运维·windows·node.js·环境检测
tianyuanwo2 小时前
深入掌握 java -jar 命令:从基础到 Jenkins Agent 实战
java·jenkins·jar
其实防守也摸鱼3 小时前
运维--ip单日获取去重数据量超过500条
运维·学习·tcp/ip·安全·web安全·安全威胁分析·工具
泰和英杰3 小时前
2026 华为数字能源 + 机房工程实操标准:故障排查、机房建设、设备选型标准化技术方案
运维·服务器·网络