В моем месте работы мы используем Buildbot для тестирования одной программы по нескольким архитектурам и версиям Python. Я использую один мастер сборки для наблюдения за 16 подчиненными. Каждый набор подчиненных устройств вытягивается из другого репо и проверяет его на Python 2.X.
Из моего опыта было бы легко сконфигурировать одного мастера сборки, чтобы запускать проекты. Это может быть не очень хорошая идея, потому что страница с водопадом (где результаты отчетов о подчиненных сборках) может сильно перегружаться более чем несколькими подчиненными. Если вам удобно прокручивать страницу с длинными водопадами, это не будет проблемой.
EDIT:
Команда обновления в master.cfg:
test_python26_linux.addStep(ShellCommand, name = "update pygr",
command = ["/u/opierce/PygrBuildBot/update.sh","000-buildbot","ctb"], workdir=".")
000-BuildBot и CTB дополнительные параметры, чтобы указать, какая ветвь и репо тянуть из, чтобы получить информацию. Скрипт update.sh - это то, что я написал, чтобы избежать несвязанной проблемы git. Если вы хотите запускать разные проекты, вы можете написать что-то вроде:
builder1.addStep(ShellCommand, name = "update project 1",
command = ["git","pull","git://github.com/your_id/project1.git"], workdir=".")
(the rest of builder1 steps)
builder2.addStep(ShellCommand, name = "update project 2",
command = ["git","pull","git://github.com/your_id/project2.git"], workdir=".")
(the rest of builder2 steps)
Эти два проекта не обязательно должны быть связаны. Buildbot создает каталог для каждого строителя и выполняет все шаги в этом каталоге.
FWIW, в настоящее время ведутся работы по улучшению масштабирования buildbot, спонсируемого проектом Mozilla. (Кто управляет _very large_ buildmaster). Подробные сведения см. В списке почтовых сообщений buildbot. – Macke