我们有一个 SCM 控制的项目,每隔几分钟就会轮询一次 repo。总体而言,工作流程很棒,但有时我需要将新更改推送到服务器的存储库而不触发 Jenkins 中的构建(出于各种原因:长时间构建、微小更改、并发提交等)。
我已经设置了一个安静期,有时我只是启动和停止构建(这很尴尬),所以詹金斯拉动了变化,以后不会触发构建。
那么,是否有任何类型的插件允许:
- 手动取消未来的构建(在它被 SCM 轮询器触发之前)
- 在不触发构建的情况下手动更新项目的 SCM 存储库?
我们有一个 SCM 控制的项目,每隔几分钟就会轮询一次 repo。总体而言,工作流程很棒,但有时我需要将新更改推送到服务器的存储库而不触发 Jenkins 中的构建(出于各种原因:长时间构建、微小更改、并发提交等)。
我已经设置了一个安静期,有时我只是启动和停止构建(这很尴尬),所以詹金斯拉动了变化,以后不会触发构建。
那么,是否有任何类型的插件允许:
你有很多解决方案可以做到这一点:
看看那个:https ://wiki.jenkins-ci.org/display/JENKINS/PollSCM+Plugin
您应该仅将构建触发器配置为“定期构建”(没有“池 SCM”触发器),我认为这可能会完成这项工作
另一个想法(不一定更好,但可能更适合您的口味):使用Run Condition Plugin。使其余的构建以参数为条件(让我们将其命名为DO_BUILD)。默认情况下将该参数设置为TRUE。如果您需要在不触发构建集的情况下提交某些内容,则DO_BUILD默认为FALSE。
同一想法的变体:您在一项工作 ( Trigger ) 中进行轮询,该工作在构建步骤中通过Parameterized Trigger Plugin调用您的主要工作。然后,该构建步骤可以以参数为条件。请注意,在这种情况下,您要么必须为两个构建使用相同的自定义工作区,要么在主作业中进行手动签出(例如,在 shell 构建步骤中)。