Build 詹金斯:在不触发构建的情况下更新SCM?
我们有一个SCM控制的项目,每隔几分钟轮询一次回购协议。总的来说,工作流程很棒,但有时我需要将新更改推送到服务器的存储库,而不触发Jenkins中的构建(出于各种原因:长构建、小更改、并发提交等) 我已经设置了一个静默期,有时我只是开始和停止构建(这很尴尬),因此Jenkins会进行更改,以后不会触发构建 那么,是否有任何类型的插件允许:Build 詹金斯:在不触发构建的情况下更新SCM?,build,continuous-integration,hudson,jenkins,Build,Continuous Integration,Hudson,Jenkins,我们有一个SCM控制的项目,每隔几分钟轮询一次回购协议。总的来说,工作流程很棒,但有时我需要将新更改推送到服务器的存储库,而不触发Jenkins中的构建(出于各种原因:长构建、小更改、并发提交等) 我已经设置了一个静默期,有时我只是开始和停止构建(这很尴尬),因此Jenkins会进行更改,以后不会触发构建 那么,是否有任何类型的插件允许: 手动取消未来生成(在SCM轮询器触发之前) 是否在不触发生成的情况下手动更新项目的SCM repo 看看: 您应该仅将构建触发器配置为“定期构建”(不使用“
- 手动取消未来生成(在SCM轮询器触发之前)
- 是否在不触发生成的情况下手动更新项目的SCM repo
您应该仅将构建触发器配置为“定期构建”(不使用“池SCM”触发器),我认为这可能会完成此任务您有很多解决方案可以做到这一点:
相同想法的一个变体:您在一个作业(触发器)中进行轮询,该作业在构建步骤中通过调用主作业。然后,构建步骤可以根据参数进行调整。请注意,在这种情况下,您必须为两个构建使用相同的自定义工作区,或者在主作业中执行手动签出(例如,在shell构建步骤中) 塞德里克,你说得对,两种选择都是好的,都是合理的。遗憾的是,MercurialSCM还不支持类似的概念。关于第一个问题,有几个问题:您必须具有对SCM服务器的访问权限(我没有),并且您必须知道提交是次要的。我们还不断地向Jenkins添加新项目,因此为每个新项目配置SCM可能会很烦人。在考虑并阅读了Kohsuke对此()的意见后,我决定尝试使用服务器范围的post commit钩子。对于Mercurial,这里有一个指南:谢谢链接,eyossi。插件已经完成了大部分工作,我会尝试一下,然后回来。