Приложение для управления / тестирования кода на удаленном кластере машин
(Не уверен, что это правильная группа)
У меня есть ситуация, когда у меня есть несколько приложений, которые создаются / создаются. Эти приложения со временем меняются, поэтому их необходимо протестировать. У меня есть несколько распределенных тестовых серверов, поэтому я могу по существу тестировать приложения параллельно на разных тестовых блоках.
Я сталкиваюсь с ситуацией, когда у нас может быть ~200-300 отдельных приложений, которые нужно итеративно запускать / тестировать, где каждый запуск может занять ~1-2 часа.
Я ищу какое-то приложение, которое позволило бы мне создать процесс типа "пакет / задание", где каждый пакет / задание содержит приложения, которые должны быть запущены, и я могу затем запланировать запуск пакета как требуется. В этом случае клиентский компьютер запросит запуск пакета / задания, когда машина будет готова запустить следующий пакет / задание.
Я искал обычные Sourceforge/Freshmeat, а также просмотрел некоторые виды приложений управления глобусами / кластерами. Я не видел ничего похожего на то, что я ищу.
Мысли / комментарии были бы полезны.
Спасибо
2 ответа
Buildbot - это система для автоматизации цикла компиляции / тестирования. Buildbot поддерживает кластеры машин.
Есть много ответов на этот вопрос. Имейте в виду, однако, что все это потребует некоторых сценариев и настройки с вашей стороны.
Предложение alvosu об использовании Buildbot превосходно, и вы должны обязательно это проверить. Некоторые другие идеи, которые я могу придумать, включают:
Распределенный Гудзон стоит изучить. Hudson - это стандартная среда непрерывной интеграции, которую сегодня используют все, и вы можете распределить ее работу по ферме машин.
Вы упомянули, что уже рассматривали программное обеспечение для управления кластером, это еще один популярный выбор, хотя потребуется больше настроек. Например, интересным подходом было бы настроить ROCKS Cluster и использовать его механизм удаленного выполнения по умолчанию SGE для запуска заданий на хостах сборки.
В настоящее время меня лично интересует идея использования GNU Parallel в качестве простой системы очередей.