4 Stimmen

Farmen mit ccnet aufbauen

Ist es möglich, mit CruiseControl.Net eine Build-Farm einzurichten? Wir haben derzeit 4 verschiedene Build-Maschinen bauen verschiedene Dinge zu verschiedenen Zeiten und haben ein bisschen Kopfschmerzen, um manuell die Last irgendwie auszugleichen. Ich würde es vorziehen, eine von ihnen als Master-Build-Maschine zu bestimmen, die die Arbeit an die anderen delegieren würde, wenn sie frei sind.

4voto

Richard J Foster Punkte 4058

Soweit ich feststellen kann, gibt es in CruiseControl.Net keine Unterstützung für Build-Farmen - zumindest nicht in der von Ihnen beschriebenen Weise. Die CCNet-Interpretation von "Farm" scheint davon auszugehen, dass Projekte manuell einer Maschine zugewiesen werden und ein bestimmtes Projekt immer auf derselben Maschine erstellt wird.

Wenn Sie dynamisch auswählen wollten, welcher Rechner den Build tatsächlich durchführt, müssten Sie einen eigenen Mechanismus entwickeln, um diesen Rechner auszuwählen und den Build auf ihm auszulösen. Dies dürfte mit einer gewissen Komplexität verbunden sein. Zum Beispiel müssten Sie wahrscheinlich sicherstellen, dass dasselbe Projekt nicht gleichzeitig auf zwei verschiedenen Rechnern gebaut wird, wenn ein zweiter Commit erfolgt, während der vorherige Commit noch verarbeitet wird.

Wenn es einen gemeinsamen Speicherort gibt, auf den alle Build-Maschinen zugreifen können, kann es möglich sein, den Dateisystem-Quellsteuerungsblock oder den ForceBuild-Mechanismus von CCNet zu verwenden, um den Build auf der bestimmten Maschine zu starten, aber alle Build-Maschinen ihre Ausgabe für ein bestimmtes Projekt am gleichen endgültigen Speicherort veröffentlichen zu lassen.

3voto

FkYkko Punkte 971

Voir Lastausgleich für die Build-Farm mit CruiseControl.NET Blogpost für eine mögliche Lösung

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X