在我的公司,我们有三台配置了100多个作业的Hudson CI服务器。我们正在寻找一种自动方式来定期备份作业配置和构建历史记录。
目前我们有一个我们配置为作业的蚂蚁脚本,但它不易维护而且不够优雅。
有没有人找到办法管理这个?
答案 0 :(得分:3)
我不相信它支持定期备份的安排,但您可以通过URL访问它(就像其他一些Hudson远程API一样)来触发它,在这种情况下,您可以简单地设置ping该URL的cron作业。
答案 1 :(得分:2)
我的Hudson服务器在Windows上运行,因此我使用Robocopy。我让它镜像每个构建服务器的hudson主目录中的所有文件,不包括作业工作区目录。由于备份将进入中心位置,因此我在每晚运行我的脚本的文件服务器上有一个计划任务,而Hudson服务器并不知道该过程。
该脚本每个哈德森机器都有一个条目:
robocopy path-to-buildserver-hudson-home backup-folder-path \ buildserver-name / ZB / E / NP / R:1 / W:5“/LOG:%~dp0backup_log.txt”/ TEE / XD工作区
注意:在第一台机器之后,它变为/ LOG +:而不是/ LOG:以便下一个附加到日志。
这镜像没有删除源代码中不存在的文件,所以即使Hudson设置为在X个月或Y版本之后删除构建结果,备份仍然可以具有完整的历史记录...以及日志到控制台和文件,如果被中断,可以恢复。它很方便。如果您不希望它保留Hudson已删除的文件,您可以使用/ MIR而不是/ E.
我确信在其他平台上存在类似的强大副本或镜像工具。如果做得好,Ant可能就足够了。
答案 2 :(得分:2)
有一个很棒的thinBackup插件。
它仅备份系统配置和作业配置,而不是整个HUDSON_HOME目录,并且具有类似cron的调度。性感!
答案 3 :(得分:1)
我会使用标准的企业服务器备份解决方案进行管理。
或者用BackupPc之类的东西滚动自己。
或者将配置文件检查到版本控制系统中。
答案 4 :(得分:0)
除了备份插件外,还有thinBackup插件只备份配置文件(适用于Hudson或Jenkins)
我个人喜欢通过一个通常最终是shell脚本的系统来进行所有系统备份。我为此编写了一个Jenkins特定脚本(也适用于Hudson)。有关详细信息,请参阅https://bitbucket.org/toomasr/jenkins-stuff/src。
答案 5 :(得分:0)
我正在使用支持完全备份和差异备份的thinbackup,您可以使用类似cron job的语法安排何时运行备份。它只备份关键配置,因此不会占用太多空间。
详情请见: https://wiki.jenkins-ci.org/display/JENKINS/thinBackup