Frage

Sagen Sie, dass Sie Code zu entwickeln, die auf mehreren Hosts (sagen Linux und Windows) kompilieren muss und ausführen, wie würden Sie gehen über die in der effizientesten Art und Weise gegeben tun, dass:

  • Sie haben vollen Zugriff auf die Hardware für jeden Host für Sie kompilieren (in meinem Fall ein Linux-Host und ein Windows-Host auf meinem Schreibtisch stehen)
  • Gebäude über ein Netzlaufwerk ist zu teuer
  • verpflichtet Nein zu einem zentralen Repository erforderlich sein sollte - davon ausgehen, dass es ein CI-Motor ist, die so schnell zu bauen versucht, so etwas in geprüft,

„Efficient“ bedeutet den Kompilierung-edit-Laufzyklus so kurz und einfach wie möglich zu halten.

War es hilfreich?

Lösung

Die meisten der Build-Server in den anderen Antworten erwähnt überprüfen Sie Ihre Änderungen von einem Versionskontrollsystem aus. Angesichts Ihrer "No verpflichtet zu einem zentralen Repository erforderlich sein sollte" Anforderung, würde ich vorschlagen, dass Sie versuchen Jetbrains Teamcity CI-Server.

Es hat Plugins fro Visual Studio und Eclipse und ermöglicht es Ihnen, eine „ privaten Build anfordern “, um die Änderungen direkt auf den Build-Server zu senden. Für jedes Projekt können Sie eine Reihe von Build-Konfigurationen mit unterschiedlichen Anforderungen definieren (O eine der möglichen reqs ist). Wenn das gelingt, baut, fordert das Plugin Sie Ihre Änderungen zu übernehmen.

Die kostenlose Version unterstützt 3-Agenten und Sie können mehr kaufen, wenn nötig.

Es sieht aus wie Pulse hat auch die gleiche Funktion , aber ich habe keine Erfahrung aus erster Hand mit.

Andere Tipps

Das Beste, was ich empfehlen kann, ist ein super Cross-Plattform-Projekt namens ‚BuildBot‘.

BuildBot kann automatisch dazu führen, ein Build Sie auf jeder Plattform auftreten unterstützen, jedes Mal wenn eine neue Revision in Ihr Source-Control-System überprüfen. Haben sie bauen auf OSX, Linux (Ubuntu), Linux (Debian), Linux (Redhat), Vista, Windows XP, usw. und haben E-Mails gesendet oder was auch immer Sie bevorzugen, wenn ein Build fehlschlägt.

Im Rahmen des Build-Prozesses, können Sie Binärdateien veröffentlichen, wenn die Tests bestanden. Nützlich für 'jede Nacht' oder 'bleeding edge' baut.

Hier einige Urls:

Wir finden, dass die Hudson ein großer CI-Server ist, die bei Bedarf baut aus der Quellcodeverwaltung durchführen kann. Wie es in Java geschrieben ist, kann es auf der Zielplattform der Wahl laufen und wie die Schnittstelle Web-basiert Sie es von überall steuern. Es gibt Plugins die meisten Dinge zu tun, was Sie tun wollen, und am besten von allen ist es frei!

Wählen Sie eine Maschine als Entwicklungsfeld.

Setup des anderen automatisch von Ihrer Quellcodeverwaltung in regelmäßigen Abständen aktualisiert werden (stündlich / täglich / was auch immer). Jegliche build / Testfehler sollten Sie irgendeine Art von Warnmeldung senden. (E-Mail, im, was auch immer). Ihre nicht-dev-Box noch bauen lokal, da es seine eigene Kopie des Baumes hat.

Bevor eine echte Release tun, möchten Sie noch die menschliche Prüfung natürlich tun. Aber das hält das Leben, den Rest der Zeit geistig gesund.

Verwenden Sie http://ccache.samba.org compiliert zu beschleunigen, wo nur wenige Dateien geändert haben in einem größeren Projekt,

und wenn große Änderungen vorgenommen wurden, Leverage http://en.opensuse.org/Icecream zur gleichen Zeit für die gemeinsame verteilte Kompilierung.

Das sollte wahrscheinlich beschleunigen Ihren Kompilierung-edit-Run-Zyklus deutlich.

Da Sie CI verwenden Ich nehme an, Sie haben bereits einen Build-Prozess richtig eingerichtet. Was wir tun, ist, dass wir Fenster-Boxen als dev Maschinen verwenden und CI auf Solaris läuft. Dies stellt sicher, dass der Code auch auf mehreren Plattformen kompiliert. Der Code ist in Java und wir verwenden keine nativen Bibliotheken, so dass es ganz gewährleistet ist, dass der Code funktioniert. Wir sind mit Bambus bei der Arbeit - es ist groß, aber nicht frei :-)

Für meine privaten Projekte habe ich Continuum benutze, aber die husdon sieht ordentlich aus (Ich werde es versuchen.) - dank Peter

Gebäude einfache Einrichtung für eine solche Aufgabe ist sehr einfach.
Ich werde vorschlagen Cygwin auf Windows-Plattform verwendet werden. Auf diese Weise können vollständig portable Software / Scripte für Linux und Windows-Plattformen schreiben kann. Es ist nicht klar, von Ihnen zu posten, der Phase des Projektes IhrDeterm sind, aber unter der Annahme, dass Sie nur ausgehend i machen Ihre Software zu bauen. Sie können cron verwenden, um die Frequenz für Ihren Check-out / build Kreis zu planen. Sie können auch eine E-Mail mit Buildprotokoll, wenn sein gebrochen senden.
Es gibt Anzahl der fertig täglichen Build-Test sowohl kommerzielle als auch Open-Source Sie Google es kann oder kann jemand hier Vorschläge hinzufügen wird.
Wir verwenden home grown-Tool für diese Aufgabe, so kann ich nicht alles fertig gemacht vorschlagen.

Ok, vermisste ich den Punkt, dass Sie nicht wollen, Quellcodeverwaltungssystem verwenden (was seltsam ist, aber Sie sind der Chef :)) in diesem Fall nur den Scheck ersetzen out mit rsync alles andere ähnlich bleibt.

Eine Option wäre Cascade , mit dem Sie Ihre Änderungen auf allen Plattformen getestet werden können, bevor anstatt nach, verpflichten, durch "Checkpointing", um sie auf dem Server.

Ein Wort:. Cruise (nicht Cruise Control) ist sehr schön

Sie können die zwei Agenten kostenlos bekommen und ein ein Agent pro Plattform. Es dauert nur wenige Minuten zu Setup auf Mac und PC und ist nicht allzu schlecht auf Linux von dem, was ich höre.

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