我有一个有趣的情况:
- 作业轮询 SVN 更改并在识别此类更改时构建
- 作业自行提交到同一个地方
- SVN 中发生了变化,因此该作业被一次又一次地构建。
有没有办法防止这种情况发生?以某种方式重置 SCM 轮询?
我有一个有趣的情况:
有没有办法防止这种情况发生?以某种方式重置 SCM 轮询?
查看 subversion 配置中的高级部分。我会使用排除用户选项。但是,这意味着 Jenkins 应该使用自己的 SVN 用户进行提交。
执行此操作的正确方法是安装SVN 提交后挂钩以通知 Jenkins 构建作业。当 Jenkins SVN 用户提交时,您可以将钩子设置为不轮询 Jenkins。这也意味着关闭轮询 SCM 的詹金斯工作。
我知道这是一个老问题,但我会分享我的解决方案,因为所有其他解决方案都很老旧。
如果您使用的是 Subversion 插件,您可以配置 SVN 以忽略包含特定 revprop 名称的提交。
以下是帮助部分的摘录:
如果设置,并且 Jenkins 设置为轮询更改,Jenkins 将在确定是否需要触发构建时忽略使用给定修订属性 (revprop) 标记的任何修订。假设构建服务器使用正确的 revprop 提交更改,这可用于排除构建本身完成的提交以触发另一个构建。
我想指出,我所指的配置是全局 SVN 配置(可在http://jenkins_address/configure上找到),而不是特定构建的配置。
编辑:经过进一步调查,我发现在构建配置页面中,您可以单击Pipeline下的Advanced按钮,您将有一些机会来忽略提交(按用户、提交消息、道具等) )
当前版本(从 2.0 开始)中的另一个选项是排除特定的提交消息以防止触发。