2009-01-19 9 views

Antwort

2

Wie immer, es hängt davon ab ...

Unter der Annahme, dass Sie andere VM läuft auf demselben Server haben, und diejenigen, andere VMs die gelegentlichen Verlangsamungen von einem laufenden Build verursacht umgehen kann, dann würde ich sagen, ja. Wenn Sie jedoch eine einzelne Build-Server-VM auf einem einzelnen Host hosten oder wenn die anderen VMs durch gelegentliche Build-Runs negativ beeinflusst werden, ist dies nicht der Fall.

Ich kann Ihnen sagen, dass, wo ich arbeite, wir zum Hosting der meisten unserer Build-Server auf VMWare gewechselt haben. Da wir mehrere Builds pro Woche mit mehr als 5 Produktlinien haben, ist es für uns sinnvoll, alle auf einer schnellen Maschine zu hosten. Wir hosten auch einen großen Teil unserer Testmaschinen auf demselben Server, was es uns ermöglicht, die Maschine gut zu nutzen, und da keine Produktionsserver darauf laufen, ist die Verlangsamung während der Erstellung kein Problem.

0

Ich sehe keinen Vorteil, es sei denn, Ihre VM ist auf einer Box, die ein virtueller Server ist.

10

Hier einige der Vorteile Ihren Build-Server in einer virtuellen Umgebung ausgeführt wird:

Teile ein schnelle Box über mehr Build-Server zu schreien - sagen Sie Hälfte haben ein Dutzend Servern aufzubauen. Stellen Sie einen sehr schnellen Rechner (4-CPU, 64-128 GB RAM, sehr schnelle Festplatten usw.) zusammen und führen Sie einen Hypervisor darauf aus. Jetzt können alle Build-Server auf diese schnellere Hardware zugreifen, wenn sie Builds durchführen, wenn andere Build-Server dies nicht tun. Erstellen Sie einen Build-Zeitplan, und Sie sollten in der Lage sein, schnellere Builds zu erstellen. Wenn Sie physische Boxen verwenden müssen, können Sie sich diese Qualitätsstufe der Hardware wahrscheinlich nicht auf jedem einzelnen Build-Server leisten - aber das ist einfacher zu rechtfertigen, wenn es geteilt wird.

Keine Ausfallzeit, wenn die Box ausfällt - Statt dass Ihre Produktions-Builds bei einem Hardwareproblem zum Stillstand kommen, können Sie den Build-Server einfach auf einem anderen Virtualisierungs-Host starten. (Dies funktioniert nur gut, wenn Sie freigegebenen Speicher verwenden.)

Einfache Hardware-Upgrades - wenn es Zeit für einen neuen Build-Server ist, müssen Sie keine lästigen OS Neuinstallationen tun. Bewegen Sie einfach das Gast-Betriebssystem auf den neuen physischen Host und schon geht es los zu den Rennen.

1

Ein Build-Server ist etwas, das sehr konsistent aufgebaut werden muss. Sie benötigen ein gut dokumentiertes und vollständig reproduzierbares Rezept für die Erstellung Ihres Build-Servers.

Build-Server sind jedoch nicht massiv performancekritisch ... oder zumindest sind sie für die Leistung Ihres Produktionssystems nicht entscheidend, so dass Sie einen in einer VM haben könnten.

Die Verwendung von VMs ist eigentlich eine gute Idee, wenn Sie unabhängig von der Hardware- und Softwarekompatibilität sein müssen. Ihr bevorzugter Hardwarehersteller kann die Unterstützung der von Ihnen benötigten Betriebssystemversion für den Buildserver auf den neuen Computern möglicherweise nicht mehr ausführen. Dann läuft die Garantie möglicherweise auf Ihrem alten Buildserver ab. Dadurch können Sie möglicherweise keine Builds in diesem Betriebssystem erstellen.

Sie würden dann entweder mit Trawling ebay für einen Ersatz aus zweiter Hand konfrontiert sein, Ihren Lieferantenbestand an veralteter Ausrüstung aufkaufen, oder einen dubiosen, nicht unterstützten Software-Hack machen.(NB: Das ist uns fast passiert, und wir haben ein bisschen von diesen)

0

Die Vor- und Nachteile der Verwendung einer VM für Ihren Build-Server sind die gleichen wie die Verwendung einer VM für andere Dienste.

Diese Frage ist ebenso anwendbar, um eine VM für einen Mail-Server/wiki-Server zu verwenden usw.

(ich dies gerade gebucht als Kommentar hätte, aber nicht über die rep noch)

Verwandte Themen