Welche kontinuierliche Integrationstechnologie wird für Spiele verwendet? [geschlossen]

8

Welche Technologie und Software für die kontinuierliche Integration würden Sie für die Verwendung mit Spielen empfehlen?

Gibt es auch Build-Technologie-Bibliotheken oder bestimmte Sprachen, die Sie empfehlen würden, wenn ein benutzerdefinierter Teil der Game-Asset-Pipeline intern codiert werden muss?

Gibt es gute Ressourcen, um den Business Case für die Verwendung kontinuierlicher und automatisierter Build-Systeme für Spiele zu demonstrieren?

Paulecoyote
quelle
Off Topic - nicht spezifisch für die Spieleentwicklung - gehört auf stackoverflow.com (zB stackoverflow.com/search?q=continuous+integration+technology )
Danny Varod
5
Ich würde dem respektvoll widersprechen - die Anforderungen des CI-Systems, das in Spielen verwendet wird, müssen sich mit vielen verschiedenen Arten von Build-Prozessen befassen, maßgeschneidert und auf andere Weise. Andere Arten der Quellcodeverwaltung (AlienBrain, Perforce) als an anderen Orten. Möglicherweise werden Entwicklungskits installiert, die der Öffentlichkeit nicht zur Verfügung stehen, möglicherweise sogar gleichzeitig, um auf verschiedene Plattformen und Variationen innerhalb dieser Plattform abzuzielen. Ich gehe davon aus, dass sich dies mit dem allgemeinen Software-Engineering überschneidet, aber es gibt spezifisches Domänenwissen, das hier geteilt werden könnte.
Paulecoyote

Antworten:

7

Hudson ist mit Abstand die beste kontinuierliche Integrations-App aller Zeiten.

Es ist kostenlos (Open Source, glaube ich) und wird in einer einzigen .war-Datei geliefert, oder Sie können sich für das Standalone-Paket mit einem kleinen Tomcat-Anwendungsserver (glaube ich) entscheiden - so oder so, super einfache Installation.

Die Benutzeroberfläche ist unglaublich. Die Liste der Plugins geht weiter und weiter (sie ist mit allen von Ihnen verwendeten Systemen kompatibel - Bug-Tracker, Versionsverwaltungssysteme usw.). Sie können mehrere Benutzerkonten mit unterschiedlichen Berechtigungen haben. Das Hinzufügen eines Projekts, das Ändern von Einstellungen oder das Anzeigen früherer Läufe ist über den Browser ganz einfach.

Sie müssen es wirklich nur versuchen. Machen Sie sich nicht die Mühe, Textdateien zu konfigurieren, wie es die Geschwindigkeitsregelung erfordert. Hudson ist ein Unterschied zwischen Tag und Nacht.

Ricket
quelle
3

CruiseControl.NET ist eine gute Wahl, die wir einige Male intern verwendet haben. Es ist kostenlos und wird mit einer Desktop-App geliefert, die Ihnen deutlich zeigt, wann Leute den Build brechen.

Es gibt auch Pulse , das sehr gut ausgestattet ist und über ein schickes Webinterface verfügt. Dies ist jedoch mit Kosten verbunden, da Sie eine Lizenz benötigen, um es pro Build-Server auszuführen.

Wir verwenden unsere CI-Server, um unseren Code zu erstellen, wenn jemand ein Commit ausführt. Dies ist der Standardanwendungsfall. Alle unsere Spiel-Assets sind jedoch so eingerichtet, dass sie von unseren CI-Servern erstellt werden, und wir sind dabei, tägliche Disc-Builds anzuschließen Damit unser QS-Team jeden Morgen einen ISO-Build zum Testen bereit hält.

Es spart viel Zeit für Programmierer (ausnahmslos ist es immer ein Programmierer, der diese Dinge erledigt), wenn Code / Assets / Discs ständig manuell erstellt werden müssen.

Blair Holloway
quelle
0

Kreuzfahrt (jetzt umbenannt in Go)

http://www.thoughtworks-studios.com/go-agile-release-management

Cruise ist wahrscheinlich das beste CI, das ich verwendet habe, da es eine Release-Pipeline versteht, mit der Sie eine Reihe von Regeln für das Verschieben eines bestimmten gepackten Builds von Stufe zu Stufe festlegen können und die es den Benutzern ermöglichen, Build-Artefakte in jeder Phase zu erfassen SICH AUSRUHEN. In der Pro-Version wird auch die Verteilung von Jobs auf mehrere Agenten unterstützt.

Das heißt, Cruise ist definitiv für Unternehmensentwickler gedacht und daher teuer. Ich wollte mit ihnen über die Änderung ihres Preisplans sprechen, um Spielefirmen in die Knie zu zwingen, aber bisher kein Glück.

Jeff
quelle
0

Buildbot
Ich kenne mehrere Studios für Spiele und visuelle Effekte, die Buildbot verwenden .

Im letzten Jahr habe ich mit unserem Build-System zusammengearbeitet, um eine kontinuierliche Integrationsstrategie für das Studio zu implementieren. Wir sind ein Multi-Plattform-Studio (win, lin, osx), mit dem Buildbot gut umgehen kann. Ich kann Slaves auf mehreren Boxen starten, ausführen und dem Master Bericht erstatten, damit er die Ergebnisse anzeigen kann. Ich kann Box-Ausführungsprotokolle vom Master sehen, wann immer ich möchte. Ich kann mich an andere Slaves anschließen. Wenn ein Slave fertig ist, wird ein Signal für den Start anderer Slaves ausgelöst.

Bisher habe ich es wirklich genossen und weiß immer noch nicht wirklich, dass es absolute Fähigkeiten sind. Ich denke, der größte Schmerz wird eingerichtet. Ich war nicht daran beteiligt, das in meinem Studio einzurichten, aber es klang wie ein Schmerz.

David McGraw
quelle