Frage

Ich plane meine (sehr kleine) Unternehmen vorzuschlagen, dass wir einen Computer kaufen, auf kontinuierliche Integration laufen. Wenn sie ja sagen, wird die Aufgabe tatsächlich Kauf der Maschine wahrscheinlich auf mich fallen, so meine Frage ist:

Wie sehe ich in einem Computer, der für die kontinuierliche Integration für ein sehr kleines (3 Personen) php-Team verwendet werden?

Was "stuff" (Speicher, Prozessor, etc.) sind wichtig, und was nicht?

War es hilfreich?

Lösung

Sie werden nicht wirklich so mächtig eine Maschine benötigen. Wenn Sie Tests oder andere Metriken ausgeführt werden, ist die Verarbeitungsfähigkeit wahrscheinlich das primäre Anliegen aber wirklich konnte man das auf einem alten Pentium 1 laufen und es würde wahrscheinlich funktionieren.

Ihre Zwänge werden Ihre Betriebsumgebung sein. Wenn Sie LAMP ausführen möchten Sie eine Maschine verwenden, die LAMP-Setup gut umgehen kann, die so ziemlich jede * nix-Maschine, die ziemlich modern.

Ich habe eine kontinuierliche Integration Setup für .NET auf einer alten Pentium4 Workstation bis wir um hatten die Verlegung und bei der Handhabung einfach gut.

Eine Sache im Auge zu behalten ist, Speicherplatz, wenn Sie Ihren Code in dem Build archivieren.

Andere Tipps

Speicher wurde für uns die Frage, wenn wir mit waren Maven Continuum und Clearcase und Gebäude stündlich. Die Snapshot-Ansichten wurden nach jedem Build links um.

Wir hatten eine stark genug Box (Sun Fire V490) und verwendet es für unsere Entwicklung Integrationsumgebung und Archiva Repository. So hatten wir nie wirklich Probleme mit Leistung und Speicher. In der Tat hatte das einzige Mal, dass wir ein Problem mit PermGen Speicher wurde Aufbau der Website Maven Ziel und dass nur -XX gemeint: ein. MaxPermSize = 128m

Aus meiner Erfahrung, diese nicht über ein Kraftwerk Maschine. Jede Maschine, die Sie für die Entwicklung verwenden würde, wäre mehr als zufrieden stellend. Offensichtlich ist, desto schneller ist die Maschine, desto schneller die Reaktion, wenn Sie ausführen, Unit-Tests auf Code verpflichtet. Unser CI-Server läuft XP SP2, 3G Prozessor, 3G RAM, und es ist Art und Weise für unsere Bedürfnisse im Augenblick überwältigt. Das heißt, es ist schön, eine E-Mail nicht mehr als 6 Minuten zu erhalten, nachdem Sie sich verpflichten, mit dem Sie wissen, ob die Build sauber ist und alle Tests bestanden. Für jede Nacht tun baut, können die Spezifikationen wahrscheinlich nach unten gehen mehr, als Sie wahrscheinlich mehr Zeit haben, um diejenigen zu erledigen. Festplattenspeicher (300G ist in diesen Tagen einigermaßen erreichbar) ist schön Berichte zum Speichern und baut auf Regression, aber wenn Sie einen NAS haben, können Sie wahrscheinlich Artefakte abstoßen, nachdem sie gebaut habe.

So ziemlich jede neue Maschine, die Sie heute kaufen könnten die Aufgabe der kontinuierlichen Integration auf einem nicht allzu großen Quellbaum verarbeiten kann. Einige Dinge zu suchen:

  • 2-4GB RAM, mehr, wenn Sie viele Tests parallel ausführen möchten oder möchten Sie virtuelle Maschinen laufen zu lassen Kunden zu simulieren.
  • Ein Multi-Core-Prozessor (oder mehrere Prozessoren), um die Chancen auf den Fang Threading Bugs zu erhöhen.
  • „Server“ Klasse-Maschinen sind in der Regel 24/7 Betrieb besser als „Desktop“ Klasse Maschinen zu handhaben, aber es gibt keine klare Linie zwischen den beiden.
  • RAID1 oder RAID1 + 0 redundante Festplatten sind ein Muss. Auch wenn Sie Backups (und Sie sollten sie trotzdem haben) es ist ein Schmerz einen Server und eine zusätzliche $ 100 Festplatte ist mehr für den Wiederaufbau als das Geld als Versicherung wert.

RAM: (? phpUnderControl ) genug, um Ihr CI-Tool auszuführen und was auch immer die Unterstützung für Software möchten für Ihren Build und Tests.

Lagerung: entscheiden, wie viele alte baut man auf der Maschine halten wollen. Nach meiner Erfahrung ist es nicht sinnvoll, sehr viele zu halten, esp. wenn Sie kleines Team haben w / out viele formalen Prozess für ein Rollback auf ältere Builds.

CPU: Nicht-Thema. Jede Maschine, die Sie kaufen können, arbeiten werden.

So zwischen den beiden neige ich dazu, RAM über Speicherplatz zu begünstigen.

Es sei denn, die App ist riesig ich würde nur ein Dual-Core-Box erhalten mit etwa 4 GB RAM und wahrscheinlich 2 recht schnell SATA-Festplatten setzen in RAID 0 500 Gigs vielleicht?

Wenn Sie möchten, damit wirklich sicher sein, bekommt zwei 70ish Gig-Laufwerke für RAID 0 für die OS-Partition und dann 3 140+ Gig-Laufwerke in RAID 5 für die Daten.

Die Maschinenleistung spielt kaum eine Rolle, aber gute Pflege Verfügbarkeit nehmen, denn wenn Sie es benutzen und ein Tag die Magie Rauch steigt aus, müssen Sie es bald ersetzt, weiter zu arbeiten. Definieren Sie eine sinnvolle Backup-Richtlinie und stellen Sie sicher wissen, wie ein neues identisches System bei Bedarf einzurichten. Zum Beispiel könnte man es von einer kleinen Partition ausgeführt haben, dass Sie Bild in eine andere Maschine kann, und dann kann der Hauptteil der Daten physisch bewegt werden, wenn sie auf RAID1 befindet und mindestens einen Antrieb funktioniert (wenn auch ein Backup an anderer Stelle zur Verfügung haben im Netzwerk als auch).

Ich denke, eine Sache, dass eine Menge Leute hier ist immer an der Maschine ist nicht so wichtig wie die CI-Software ist. Die einzige Zeit, die Maschine wichtig ist, ist, wenn Sie verschiedene Architekturen benötigen. Andernfalls erhält eine Maschine, die Ihre Zielumgebung übereinstimmt. Wenn Sie eine Server-Anwendung erstellen, könnte es klug sein, einen 64-Bit-Prozessor, da die App wohl bekommen werden auf einem 64-Bit-Server ausgeführt werden.

Ich würde kümmern sich mehr um, was Werkzeug, das ich für CI bin usinging. Sie brauchen etwas, das schnell laufen wird, und wie die Menschen hier haben darauf hingewiesen, sollte es nicht halten auf die Altbauten, wenn Sie sie brauchen, zur Verfügung zu stehen. Wenn ja, ich nach etwas aussehen würde, die das Hochladen baut und Ergebnisse auf einen separaten Server ermöglicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top