我已经设置了Jenkins管道作业,对于该作业,我只希望仅在对特定目录进行更改时才启动该作业。我在Included Regions
的{{1}}中添加了以下内容:
Polling ignores commits in certain paths
这是GitHub中的目录,我希望它在进行更改后启动工作。回购中的所有其他内容都将被忽略。这是行不通的,因为它仍然从仓库中的任何地方获取更改。我已经在自由式工作中很好地工作了,所以这是管道工作的问题吗? TIA
答案 0 :(得分:0)
使用声明式管道解决了相同的问题。问题是管道作业已缓存了先前的配置,并顽固地拒绝识别新的配置。
我们通过使用新配置从头开始创建新管道作业解决了这一问题;由于操作原因,无法选择重新启动Jenkins。请注意,通过复制以前的错误作业来创建新作业将无效。
编辑:Jenkins重新启动对解决此错误没有帮助。因此,当前的肮脏解决方案是:
extensions: [[$class: 'DisableRemotePoll']]
)下的使用工作区强制轮询中-带有自己的开销。答案 1 :(得分:0)
为什么不将 when 块与内置条件更改集一起使用?
参考https://jenkins.io/doc/book/pipeline/syntax/寻找变更集
when { changeset "some_folder/some_file.js" }
只有在更改集中设置的文件已更改时,使用此条件才能运行您的阶段。
请告知。轮询后,它仍然会加速工作,但是由于存在何时,它不会继续。
答案 2 :(得分:0)
这可能与“轻量级结账”选项有关。我不记得它到底导致了什么问题,但我记得它导致了问题。所以,把它关掉,看看是否能解决你的问题。该选项位于管道作业配置页面的底部。