Java 我能让哈德逊一天只造一次吗?(但不是在特定时间)

Java 我能让哈德逊一天只造一次吗?(但不是在特定时间),java,build,hudson,continuous-integration,Java,Build,Hudson,Continuous Integration,目前,我正在使用Hudson CI每5分钟构建一个关于SCM变更的中型项目。我想进一步推广它的使用,并让它进行适当的每日/夜间构建(目前CI没有对产品做任何事情,只是用于单元测试) 然而,问题是CI服务器不是在专用的机器上运行的——它实际上是一台一天中大部分时间都在运行的机器,但最终会关闭(它也不是在可预测的开始->结束时间跨度内打开的) 所以我会把@daily放在哈德逊,但据我所知,这是在午夜建造的,当时机器很有可能无法启动 有没有办法让哈德逊每天执行一次构建,但不是在特定的时间?e、 我能在

目前,我正在使用Hudson CI每5分钟构建一个关于SCM变更的中型项目。我想进一步推广它的使用,并让它进行适当的每日/夜间构建(目前CI没有对产品做任何事情,只是用于单元测试)

然而,问题是CI服务器不是在专用的机器上运行的——它实际上是一台一天中大部分时间都在运行的机器,但最终会关闭(它也不是在可预测的开始->结束时间跨度内打开的)

所以我会把@daily放在哈德逊,但据我所知,这是在午夜建造的,当时机器很有可能无法启动

有没有办法让哈德逊每天执行一次构建,但不是在特定的时间?e、 我能在哈德逊河一开始就触发它吗,或者沿着这条线


谢谢

您可以使用CLI插件从外部控制哈德逊进程


然后,您可以编写任何您需要的脚本,比如将其放入“每小时运行”cron脚本中,在其中跟踪构建的最后一次调用,以便确定何时再次启动构建。

您是否使用ANT构建类?在这种情况下,您可以在ant构建文件中实现“一天一次”功能

在生成时将日期写入文件,并且仅当今天不是该日期时才生成。(使用和任务)

在这种情况下,Hudson仍然会每5分钟检查一次,如果ant确定今天的构建已经完成,它将跳过构建过程


我猜您可以使用其他构建工具创建类似的解决方案。

Hudson插件库有一个插件,用于在Hudson启动时启动构建:

通过“Manage Hudson”页面安装插件,并在启动时要构建的每个作业上启用触发器

如果你每天重新启动机器,它可能会提供你想要的