Cloud-native Build-Pipelines können die Erstellung großer Unreal-Engine-4-Projekte besser skalieren. Der Cloud-Native Engineer Jose Moreira beschreibt in seinem Originalbeitrag bei Game Developer, wie Docker-Container und Kubernetes für Build- und Release-Prozesse von Spielen eingesetzt werden können.
Bei großen Projekten entstehen lange Wartezeiten vor allem durch umfangreiche Inhalte und die Kompilierung des Quellcodes. Herkömmliche Lösungen wie verteilte Build-Systeme können einzelne Aufgaben beschleunigen, sind aber oft an bestimmte Workloads oder kostenpflichtige Dienste gebunden. Container schaffen eine reproduzierbare Umgebung, in der Build-Schritte unabhängig vom einzelnen Arbeitsplatz ausgeführt werden.
Kubernetes als gemeinsame Plattform
Moreira schlägt Kubernetes als gemeinsame Orchestrierungsebene für lokale Infrastruktur und Cloud-Ressourcen vor. Ein Cluster kann Build-Jobs, Tests und weitere Werkzeuge der Continuous Integration verwalten. Mit Infrastructure as Code lassen sich die benötigten Ressourcen dokumentieren und reproduzierbar bereitstellen. Die offizielle Kubernetes-Dokumentation beschreibt die Aufgaben von Control Plane, Nodes und Containern.
Für Spiele-Teams ist dabei entscheidend, wie große Binärdateien, Engine-Abhängigkeiten und proprietäre Inhalte in die Pipeline eingebunden werden. Ein Container allein löst diese Speicher- und Lizenzfragen nicht. Er kann jedoch standardisierte Build-Schritte, Werkzeuge und Testumgebungen voneinander trennen und damit die Fehlersuche in automatisierten Abläufen erleichtern.
Von der Forschung zur Produktionsumgebung
Der Beitrag versteht sich als technische Untersuchung und nicht als fertiges Produkt. Vorgeschlagen werden unter anderem offene Werkzeuge für Infrastructure as Code, Kubernetes-Cluster und CI/CD-Pipelines. Für kleine und mittlere Studios kann ein solcher Ansatz interessant sein, wenn Build- und Release-Prozesse mit dem Projektumfang wachsen und lokale Rechner nicht mehr ausreichen.
