Jenkins中使用Generic Webhook Trigger插件实现持续集成

项目环境

宝塔Linux面板+Docker+Jenkins+gitee

目的

实现每次push推送dev分支到gitee上,Jenkins自动构建项目;push其它分支时,不运行。

实现方法

1.在Jenkins上安装Generic Webhook Trigger插件

在"系统设置--插件管理--可选插件"界面搜索:Generic Webhook Trigger,可以看到,点击安装,然后重启。

这里是已经安装过,所以在"已安装"界面里!

2.在项目中配置Generic Webhook Trigger
2.1 选择 Generic Webhook Trigger 为构建触发器

Generic Webhook Trigger 提示文字翻译

由HTTP请求http://JENKINS_URL/generic-webhook-trigger/invoke触发的(JENKINS_URL为jenkins登录的域名和端口号,例:121.99.172.228:6666)

Git存储库中有一些示例配置。

你可以在这里摆弄JSONPath。您可能还想在这里检查语法。

您可以在这里摆弄XPath。您可能还想在这里检查语法。

您可以在这里摆弄正则表达式。您可能还想在这里检查语法。

如果您的作业没有参数化,那么解析后的变量将直接贡献给构建。如果您的作业是参数化的,并且您解析了与这些参数具有相同名称的变量,那么插件将在触发作业时填充参数。这意味着,例如,您可以将参数与SCM插件(如GIT plugin)结合使用,以选择分支。

2.2 在 Post content parameters 中定义post请求的变量

ref 变量可以自己取名称,在后边构建配置上会使用到;

但是 $.ref 中的 ref 是根据实际post请求传递过来的 json 参数 获取的 key名称。

2.3 配置 Token

可选的标记。如果指定了令牌,则只有在调用http://JENKINS_URL/generic-webhook-trigger/invoke时提供令牌时才能触发此作业。它可以作为:

查询参数/调用?令牌= TOKEN_HERE

一个令牌头令牌:TOKEN_HERE

A授权:承载头授权:承载TOKEN_HERE

2.4 配置 Optional filter 构建条件

多个值组合参考写法:

Expression:^(a_b)$ a、b替换成需要匹配的字符串

Text:ref_name ref 和 name是上面配置的两个参数值

Expression 和 Text 中间都用 "_" 连接(也可是其它任意符号)。

2.5 登录 gitee 添加对应项目下的 WebHooks

登录 gitee → 对应项目 → 管理 → WebHooks → 添加 webHook

URL :http://121.99.172.228:6666/generic-webhook-trigger/invoke?token=vue-admin-dev

WebHook 密码/签名密钥:12345

URL中把 121.99.172.228:6666 换成自己 Jenkins 登录的域名和端口号,vue-admin-dev 换成 之前配置的 Token 值。

WebHook 密码/签名密钥 这个是鉴权方式,如选择密码可随便填。

事件选择 Push。

添加 后 点击测试 查看请求历史 返回 200 即表示成功。

相关推荐
2***s67214 分钟前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
YongCheng_Liang1 小时前
Zabbix 6.4 完整部署教程:从环境准备到监控实战
linux·运维·zabbix
数字化顾问1 小时前
(65页PPT)大型集团物料主数据管理系统建设规划方案(附下载方式)
大数据·运维·人工智能
翼龙云_cloud1 小时前
阿里云渠道商:新手怎么操作阿里云无影云电脑?
运维·服务器·阿里云·云计算·电脑
回忆是昨天里的海2 小时前
docker存储-目录挂载
运维·docker·容器
爱吃萝卜的美羊羊3 小时前
ubuntu下国内升级ollama
linux·运维·ubuntu
mzhan0173 小时前
Linux: console: printk: console_no_auto_verbose
linux·运维·服务器
用什么都重名3 小时前
Docker 镜像源配置指南
运维·docker·容器
河南博为智能科技有限公司3 小时前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
忙里偷闲学python3 小时前
containerd_buildkitd构建镜像,告别docker构建
运维·docker·容器