Есть ли (автоматизированный) способ резервного копирования файлов Hudson CI?

Здесь у меня есть три сервера Hudson CI с настройками на 100+. Мы ищем автоматизированный способ конфигурации периодически резервного копирования и истории сборки.

В настоящее время у нас есть ant script, который мы настраиваем как задание, но его нелегко поддерживать, а не изящно.

Кто-нибудь из вас нашел способ справиться с этим?

Ответ 1

Существует Backup Plugin.

Я не считаю, что он поддерживает планирование периодических резервных копий, но вы можете запустить его, обратившись к нему через URL (например, некоторые другие удаленные API Hudson), и в этом случае вы могли бы просто настроить задание cron для отправки URL-адреса.

Ответ 2

Мои серверы Hudson работают на окнах, поэтому я использую Robocopy для этого. У меня есть зеркальное отображение всех файлов на каждом сервере сборки hudson home, исключая каталоги рабочей области рабочего места. Поскольку резервные копии идут в центральное место, у меня есть запланированная задача на файловом сервере, который работает мой script в ночное время, а серверы Hudson не знают об этом процессе.

script имеет одну запись на машину 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, вероятно, достаточно, если сделать правильно.

Ответ 3

Существует удивительный thinBackup плагин.

Он создает резервные копии только конфигурации системы и конфигураций заданий вместо целого каталога HUDSON_HOME и имеет графическое планирование в виде cron. Sexy!

Ответ 4

Я бы справился со стандартным решением для резервного копирования на корпоративном сервере.

Или сверните мою собственную с чем-то вроде BackupPc.

Или проверьте конфигурационные файлы в своей системе управления версиями.

Ответ 5

Помимо плагина Backup также есть плагин thinBackup для резервного копирования только файлов конфигурации (доступно для Hudson или Jenkins)

Мне лично нравится делать все системные резервные копии через одну систему, которая обычно является оболочкой script в конце. Я написал для Jenkins специфический script для этого (работает и для Хадсона). Подробнее см. https://bitbucket.org/toomasr/jenkins-stuff/src.

Ответ 6

Я использую thinbackup, который поддерживает полное резервное копирование и дифференциальное резервное копирование, и вы можете планировать, когда он запускает резервную копию, используя синтаксис cron. Он только резервирует критические конфигурации, поэтому он не занимает много места.

Подробнее см.: https://wiki.jenkins-ci.org/display/JENKINS/thinBackup