gpt4 book ai didi

git - Jenkins:不想触发 Git 标签(无工作区)

转载 作者:太空狗 更新时间:2023-10-29 14:06:00 25 4
gpt4 key购买 nike

我有一些用户需要在 Github(企业)推送上触发 jenkins 作业。所以我只能访问 Webhooks 和 Git 服务 Hook 。即使唯一的提交是一个标签,这些钩子(Hook)也会推送。

一些用户在成功时会自动标记他们的构建,此自动标记会触发新的 webhook 并再次触发他们的构建。

通常,我们通过使用 git 插件的“排除用户”部分并在该列表中设置一个服务帐户列表来避免这种情况。

然而,随着我们新的临时构建农场的出现,我们不再维护工作区(我们按需将节点旋转为 Docker 容器)。所以这种方法不再有效(参见:https://issues.jenkins-ci.org/browse/JENKINS-29282)。

我的临时解决方法是,我运行一个 shell 脚本作为第一个构建步骤,现在它会执行一些 git-log 比较并在服务帐户是唯一提交者的情况下中止构建。

我正在寻找一种使用 git hook 触发构建的方法,如果它只是一个标记事件,它甚至不会启动构建。

这似乎是一个很难的问题,但我觉得这个问题一定很常见。许多人必须在构建成功运行后自动标记 Git 并避免重建。

最佳答案

我知道这个问题已经过时了,但我最近遇到了一个类似的问题,Bitbucket 的 webhook 到 Jenkins 会发送标签推送更改的通知。我尝试配置 Hook 不发送那些,但它从来没有奏效。

经过反复试验,唯一对我有用的是设置 Jenkins 的“Branch Specifier (blank for 'any')”字段 Git Plugin到“除标签之外的所有内容”,使用像这样的正则表达式::^(?!.*(refs\/tags\/)).*.

我承认这个解决方案有一个主要缺点,即具有这种配置的作业无法构建标签......在我的例子中,具有这种配置的一组作业预计不会构建标签,所以没关系解决方案,但我更愿意删除通知。

希望这对您有所帮助。

关于git - Jenkins:不想触发 Git 标签(无工作区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com