En mi lugar de trabajo utilizamos Buildbot para probar un solo programa en varias arquitecturas y versiones de Python. Yo uso un maestro de construcción para supervisar alrededor de 16 esclavos. Cada conjunto de esclavos extrae de un repositorio diferente y lo prueba contra Python 2.X.
Desde mi experiencia, sería fácil configurar un maestro de construcción único para ejecutar una combinación de proyectos. Puede que esta no sea una buena idea porque la página de la cascada (donde los esclavos de la construcción informan los resultados) puede estar muy congestionada con más de unos pocos esclavos. Si te sientes cómodo desplazándote por una página de cascada larga, entonces esto no será un problema.
EDIT:
El comando de actualización en master.cfg:
test_python26_linux.addStep(ShellCommand, name = "update pygr",
command = ["/u/opierce/PygrBuildBot/update.sh","000-buildbot","ctb"], workdir=".")
000-buildbot y CTB son parámetros adicionales para especificar qué rama y cesión temporal para tirar de obtener la información. El script update.sh es algo que escribí para evitar un problema de git no relacionado. Si desea ejecutar proyectos diferentes, puede escribir algo como:
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)
Los dos proyectos no tienen que estar relacionados. Buildbot crea un directorio para cada constructor y ejecuta todos los pasos en ese directorio.
FWIW, actualmente hay trabajos en curso para mejorar la escala de buildbot, patrocinado por el proyecto Mozilla. (¿Quién ejecuta un buildmaster muy grande?) Consulte la lista de correo buildbot para más detalles. – Macke