Al mio posto di lavoro usiamo Buildbot per testare un singolo programma su diverse architetture e versioni di Python. Io uso un master di costruzione per supervisionare circa 16 slave. Ogni serie di slave attinge da un repository diverso e lo confronta con Python 2.X.
Dalla mia esperienza, sarebbe facile configurare un master di una singola build per eseguire un mash-up di progetti. Questa potrebbe non essere una buona idea perché la pagina waterfall (dove gli schiavi build riportano i risultati) può diventare molto congestionata con più di un paio di slave. Se sei a tuo agio a scorrere una pagina lunga cascata, non sarà un problema.
EDIT:
Il comando di aggiornamento in master.cfg:
test_python26_linux.addStep(ShellCommand, name = "update pygr",
command = ["/u/opierce/PygrBuildBot/update.sh","000-buildbot","ctb"], workdir=".")
000-buildbot e CTB sono parametri aggiuntivi per specificare quale ramo e pronti contro termine a tirare da ottenere le informazioni. Lo script update.sh è qualcosa che ho scritto per evitare un problema git non correlato. Se si desidera eseguire diversi progetti, è possibile scrivere qualcosa come:
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)
I due progetti non devono essere correlati. Buildbot crea una directory per ogni builder e esegue tutti i passaggi in quella directory.
fonte
2009-08-02 20:45:09
FWIW, attualmente è in corso il lavoro per migliorare il dimensionamento di buildbot, sponsorizzato dal progetto Mozilla. (Chi gestisce un _molto grande_ buildmaster). Vedere la mail list di buildbot per i dettagli. – Macke