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?
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle