如何阻止 Jenkins 多次为相同的更改/标记运行管道?
我创建了一个 Jenkins 管道,只要在 Git 存储库中创建了新标签,就会触发该管道。我正在使用频率为 5 分钟的轮询 SCM。我的管道通常需要 2 分钟。因此,每当创建新标签时,管道都会触发并成功执行。之后在下一个轮询周期中,管道再次被触发。这无限地继续下去。我必须禁用该项目才能停止此操作。但是一旦我启用该项目,管道执行就会再次开始。
第一次构建:查看修订版是 origin/tags/1.0.4 并由 SCM 更改触发。这很好,正如预期的那样
第二次构建:修订与第一次构建相同,并再次由 SCM 更改触发。这不是预期的。由于没有可用的新标签,并且较早的标签已经由第一次构建构建。
触发新标签是通过设置 Advanced --> Refspec -->refs/tags/ 实现的,如 https://stackoverflow.com/a/29743054/2945598。