Java 是否有(自动)备份Hudson CI文件的方法?

Java 是否有(自动)备份Hudson CI文件的方法?,java,continuous-integration,backup,hudson,Java,Continuous Integration,Backup,Hudson,在我的公司,我们有三台Hudson CI服务器,配置了100多个作业。我们正在寻找一种自动化的方法来定期备份作业配置和构建历史记录 目前,我们有一个配置为作业的ant脚本,但它不容易维护,也不优雅 你们中有人找到办法来处理这个问题吗?有一种方法 我不相信它支持定期备份的计划,但是您可以通过URL访问它(就像其他Hudson remote API一样)来触发它,在这种情况下,您可以简单地设置一个cron作业来ping URL。我将使用标准的企业服务器备份解决方案来管理它 或者用BackupPc之类

在我的公司,我们有三台Hudson CI服务器,配置了100多个作业。我们正在寻找一种自动化的方法来定期备份作业配置和构建历史记录

目前,我们有一个配置为作业的ant脚本,但它不容易维护,也不优雅

你们中有人找到办法来处理这个问题吗?

有一种方法


我不相信它支持定期备份的计划,但是您可以通过URL访问它(就像其他Hudson remote API一样)来触发它,在这种情况下,您可以简单地设置一个cron作业来ping URL。

我将使用标准的企业服务器备份解决方案来管理它

或者用BackupPc之类的东西来滚我自己的


或者将配置文件检查到您的版本控制系统中。

我的Hudson服务器运行在windows上,因此我使用Robocopy进行此操作。我让它镜像每个构建服务器的hudson主页中的所有文件,不包括作业工作区目录。由于备份要放在一个中心位置,所以我在一个文件服务器上有一个计划任务,它每晚运行我的脚本,而Hudson服务器不知道这个过程

每个hudson机器都有一个脚本条目:

buildserver hudson home backup文件夹路径\buildserver名称/ZB/E/NP/R:1/W:5“/LOG:%~dp0backup_LOG.txt”/TEE/XD工作区的机器人复制路径

注意:在第一台机器之后,它变为/LOG+:而不是/LOG:,以便下一台机器附加到日志中

这会在不删除源中不存在的文件的情况下进行镜像,因此,即使Hudson设置为在X个月或Y个构建后删除构建结果,备份仍可能具有完整的历史记录…以及控制台和文件的日志,并且在中断时可恢复。它很方便。如果不想保留Hudson删除的文件,可以使用/MIR而不是/E


我相信其他平台上也存在类似的健壮拷贝或镜像工具。如果操作正确,Ant可能就足够了。

除了备份插件外,还有thinBackup插件,只备份配置文件(可用于或)


我个人喜欢通过一个系统进行所有系统备份,而这个系统最终通常是一个shell脚本。我为此写了一个詹金斯特有的剧本(也适用于哈德逊)。有关更多信息,请参阅。

我正在使用thinbackup,它支持完全备份和差异备份,您可以使用类似cron作业的语法安排何时运行备份。它只备份关键配置,因此不会占用太多空间

有关更多详细信息,请访问: 有一个很棒的插件


它只备份系统配置和作业配置,而不是整个HUDSON_主目录,并具有类似cron的调度。性感

是的,这将是一个选项,但我们的哈德逊服务器需要登录。无论如何,备份插件似乎是最好的选择,也许这只是为项目提供一个调度补丁的问题-(