防止 GitHub Webhook 从标签推送中发送
Posted
技术标签:
【中文标题】防止 GitHub Webhook 从标签推送中发送【英文标题】:Prevent GitHub Webhook being sent from Pushing of Tag 【发布时间】:2020-07-29 20:08:41 【问题描述】:我的 Jenkins 管道存在问题,该管道将标签作为步骤之一推送,这最终会再次启动构建,从而导致循环。
难道 GitHub 没有办法只发送一个带有源提交的 webhook,而不是一个标签吗?
【问题讨论】:
您可能想在 Jenkins 中关闭标签构建。 其中一个步骤是创建一个 git 标签。它是 Jenkinsfile 中定义的一个 shell 步骤 不是在谈论 Jenkinsfile,而是在谈论您的 Jenkins 配置,以便 Jenkins 在创建新标签时不会启动构建。 不确定您所说的“标签构建”是什么意思,在配置中的哪个位置进行调整? 【参考方案1】:当您在 GitHub 上注册给定类型的 webhook 时,您会收到该类型的每个 webhook 的通知。出于效率原因,无法进行过滤,因为 GitHub 发送了大量的 webhook 有效负载。假设您的服务将丢弃您不关心的任何事件。
如果您不希望 Jenkins 在推送标签时进行构建,则将其配置为不这样做。通过一些快速的谷歌搜索,您似乎可以控制要构建的 refs,因此您可能希望将其配置为仅构建不包含标签的 refs/heads/*
。
【讨论】:
通过使用“通用 Webhook 触发器”作为构建触发器,这仍然可以实现吗?很高兴看到您用 Google 搜索的链接 好的,我能够使用通用 Webhook 配置中的“可选过滤器”来完成这项工作;发布内容参数:变量:分支表达式:$.ref 打印发布内容检查打印贡献值检查可选过滤器:表达式:refs/heads/* 文本:$branch以上是关于防止 GitHub Webhook 从标签推送中发送的主要内容,如果未能解决你的问题,请参考以下文章
github jenkins webhook 期待已删除的 jenkins 作业