Version control Jenkins:SCM触发常量构建,尽管没有更改

Version control Jenkins:SCM触发常量构建,尽管没有更改,version-control,build,triggers,jenkins,Version Control,Build,Triggers,Jenkins,我们有一个问题,尽管没有代码更改,SCM仍会触发构建。SCM每15分钟轮询一次更改,只有在发现更改时才触发生成 下面是连续SCM轮询日志的几个示例 Started on Nov 15, 2013 11:47:14 AM Using strategy: Default [poll] Last Built Revision: Revision 08f48cc5675ae0126256cf24d6ee74c8fc9d7b30 (origin/develop) Done. Took 0.23 sec C

我们有一个问题,尽管没有代码更改,SCM仍会触发构建。SCM每15分钟轮询一次更改,只有在发现更改时才触发生成

下面是连续SCM轮询日志的几个示例

Started on Nov 15, 2013 11:47:14 AM
Using strategy: Default
[poll] Last Built Revision: Revision 08f48cc5675ae0126256cf24d6ee74c8fc9d7b30 (origin/develop)
Done. Took 0.23 sec
Changes found

Started on Nov 15, 2013 11:17:14 AM
Using strategy: Default
[poll] Last Built Revision: Revision 08f48cc5675ae0126256cf24d6ee74c8fc9d7b30 (origin/develop)
Done. Took 0.22 sec
Changes found

Started on Nov 15, 2013 11:02:14 AM
Using strategy: Default
[poll] Last Built Revision: Revision 08f48cc5675ae0126256cf24d6ee74c8fc9d7b30 (origin/develop)
Done. Took 0.2 sec
Changes found
正如您所看到的,修订版与

Git Build Data

Revision: 08f48cc5675ae0126256cf24d6ee74c8fc9d7b30 origin/develop
直到几天前,这些工作的表现还是如预期的那样。我们没有意识到环境的任何变化会导致这种情况


为了解决这个问题,我昨晚升级到了Jenkins(1.539)的最新版本并安装了插件,但这种行为仍在继续。

最新版本2.0似乎可以复制

降级到1.x版可能会解决此问题。尽管您也应该从旧备份中恢复Jenkins配置,因为GIT插件版本1.x似乎不适用于新的2.0配置方案

建议启用“快速远程轮询”作为解决方法。在2.0版中,我认为它被称为“使用工作区强制轮询”


参考Jenkins问题:

小心svn重定向,在我的案例中,Jenkins无法检测到svn是否没有变化,allways是否正在触发

问题是在我的jenkins svn配置中有以下url:

并将其重定向到

(我不知道为什么)

Jenkins必须使用最后一个URL进行配置,以便正确检测svn更改

这是我的问题解决了


我刚刚遇到Jenkins,因为SCM发生了变化,即使没有变化,轮询也没有打开。这可能与您的场景不同,但我认为分享我的解决方案仍有帮助

Out项目被配置为使用分支说明符
*/integration
构建,就像我们的所有其他集成构建一样。然而,在查看了我们的原始git repo上的所有分支之后,我发现有两个分支与
*/integration
说明符匹配。看起来开发人员一定是错误地推到了一个名称非常相似的新分支:

$git branch --remote | grep integration
  origin/integration
  origin/origin/integration
解决这个问题的方法是使用
refs/heads/integration
完全指定分支。我认为简单地删除重复的有问题的分支也是可行的,但是通过精确地指定分支,我可以避免将来遇到同样的问题


我不确定这是否与您的问题的原因相同,但这正是对我起作用的原因,希望在这种情况下对其他人起作用。

我今天也遇到了同样的问题。当我添加“构建完成后删除工作区”发布任务时,它就开始发生了。我删除了那个任务,它似乎解决了问题。

我遇到了同样的问题

我注意到Git轮询日志如下所示:

Started on [date]
Using strategy: Default
[poll] Last Built Revision: Revision [commit#] (origin/develop)
[...]
Found 12 remote heads on ssh://[...]/repo.git
[poll] Latest remote head revision on refs/heads/feature/foo is: [commit#] - already built by 1414
[poll] Latest remote head revision on refs/heads/feature/bar is: [commit#] - already built by 2365
[poll] Latest remote head revision on refs/heads/feature/baz is: [commit#] - already built by 1489
[poll] Latest remote head revision on refs/heads/feature/qux is: [commit#] - already built by 1413
[poll] Latest remote head revision on refs/heads/develop is: [commit#] - already built by 2368
[poll] Latest remote head revision on refs/heads/master is: [commit#]
Done. Took 0.16 sec
Changes found

请注意,
master
的行没有显示“已构建”。我构建了
master
分支,解决了问题。

删除管道末端的清理步骤为我带来了窍门:

cleanup {
  cleanWs()
}

你是在一个独立于詹金斯大师的奴隶身上运行你的构建吗?Jenkins有时会在主机重启后在从机上找不到工作区的情况下触发构建。如果发生这种情况,您应该会在构建日志中看到类似“触发构建以获取工作区”的消息。当svn服务器名称为大写时,我与svn有类似的问题,但svn记住为小写。所以它每次都会构建,直到我在jenkins作业中将服务器名改为小写。即使不使用*,我也会遇到这个问题。将分支名称设置为refs/heads/{branch name}为我修复了它。在我的情况下,轮询已打开,但我尝试检查这是否有帮助,从而将所有分支引用更改为
refs/heads/
语法,但没有任何区别。对我也不起作用。我在
*/master
分支机构与
H/60****
进行了数月的连续构建。用
origin/master
替换是不够的,前缀
refs/heads/master
也是不够的。在上讨论了相同的解决方案,但对我没有任何帮助。我今天添加了该任务。这一定是问题所在。谢谢