Continuous integration 收到SVN post commit触发器时Hudson未生成项目

Continuous integration 收到SVN post commit触发器时Hudson未生成项目,continuous-integration,hudson,build-triggers,Continuous Integration,Hudson,Build Triggers,我正在尝试设置Hudson continuous integration server,以便任何SVN提交都将触发新的构建。我在stackoverflow上看到了很多关于配置SVN服务器的问题和答案,但在配置Hudson上看到的不多 我已经向SVN服务器添加了一个post-commit钩子,它将在提交时联系Hudson。我正在使用post-commit钩子,如下所述: 但在SVN提交后不会触发生成。我从上面的post commit hook脚本中获得了UUID值,并将自己的HTTP post请求

我正在尝试设置Hudson continuous integration server,以便任何SVN提交都将触发新的构建。我在stackoverflow上看到了很多关于配置SVN服务器的问题和答案,但在配置Hudson上看到的不多

我已经向SVN服务器添加了一个post-commit钩子,它将在提交时联系Hudson。我正在使用post-commit钩子,如下所述:

但在SVN提交后不会触发生成。我从上面的post commit hook脚本中获得了UUID值,并将自己的HTTP post请求发送到Hudson服务器:

http://<server>/hudson/subversion/<uuid>/notifyCommit?rev=<rev>
因此,我的HTTP POST请求正在到达Hudson,但Hudson抱怨没有配置任何作业来处理此通知

根据上面的链接,我需要(a)设置SCM轮询(任何计划都足够)和(b)允许匿名读取访问和(c)禁用跨站点利用漏洞检查

因此,我将我的一个Hudson作业配置为使用SCM轮询进行夜间构建,并验证是否禁用了跨站点利用漏洞检查。我还禁用了“启用安全性”选项,这意味着(我假设)允许匿名读取访问

然后,我再次发送了HTTP POST请求,表示SVN提交通知。这一次,系统日志中没有消息,这意味着没有SCM轮询的作业没有警告。但是仍然没有建造

在我看来,Hudson可以通过HTTP POST请求识别构建触发器,并且知道有一个带有SCM轮询的作业可以接受构建触发器,但无法触发构建

我想知道我需要做什么来解决这个问题。我是否需要启用安全性并显式允许匿名读取访问?或者启用“任何人都可以做任何事情”授权选项?是否需要以某种方式更改SCM轮询(当前设置为“0 2***”)

谢谢你的帮助

编辑:我在Tomcat中运行Hudson,Tomcat在Windows XP上作为一项服务启动。

在v3.0.0(v2.2.1及更早版本)之前,Hudson中的轮询功能有两种含义:

1) 如果选择轮询并放入计划,则该作业将运行,并在指定时间查找任何更改。此作业将忽略SCM中的任何提交后挂钩,就像根本没有轮询的生成作业一样

2) 启用轮询,但将实际轮询字段留空。这允许Hudson进行“被动”轮询:即,在提交后触发器到达Hudson之前,它一直处于空闲状态,只有在该时间构建作业才会运行

我的建议是像您一样启用轮询,但取消时间表。让社区知道这是否解决了您的问题。

在v3.0.0(v2.2.1及更早版本)之前,Hudson中的轮询功能有两种含义:

1) 如果选择轮询并放入计划,则该作业将运行,并在指定时间查找任何更改。此作业将忽略SCM中的任何提交后挂钩,就像根本没有轮询的生成作业一样

2) 启用轮询,但将实际轮询字段留空。这允许Hudson进行“被动”轮询:即,在提交后触发器到达Hudson之前,它一直处于空闲状态,只有在该时间构建作业才会运行

我的建议是像您一样启用轮询,但取消时间表。让社区知道这是否解决了您的问题

WARNING: No subversion jobs using SCM polling