View a markdown version of this page

Entwicklung von Cloud-Spielen: CI/CD - Linse für die Spieleindustrie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Entwicklung von Cloud-Spielen: CI/CD

CI/CD Die Infrastruktur ist bei der Entwicklung von Spielen unabhängig von der Teamgröße wichtig, um die Iterationszeiten zu verbessern, die Zuverlässigkeit der Builds zu verbessern, die Bereitstellung effizienter zu gestalten und den Entwicklungs- und Veröffentlichungsprozess besser zu kontrollieren, um den Spielern ein qualitativ hochwertiges Spielerlebnis zu bieten. Eine CI/CD Spieleentwicklungspipeline besteht in der Regel aus hochverfügbaren Quellcodeverwaltungsservern und Speicher, Rechenressourcen für die Ausführung Ihrer Builds und Software zur Durchführung automatisierter Tests sowie aus der richtigen Netzwerkkonnektivität Ihrer Entwicklungscomputer. Die folgende Referenzarchitektur zeigt, wie Spiele-Builds aus dezentralen oder lokalen Spieleentwicklungsumgebungen in die ausgelagert werden können, um Entwicklern bei der Migration oder dem Aufbau neuer Build-Farmen AWS Cloud zu helfen.

Spiele-Builds in die Cloud auslagern

Laden Sie Spiel-Builds in die Cloud aus

  1. AWS Direct Connect bietet eine private, dedizierte Verbindung mit niedriger Latenz AWS für Entwickler im Büro. Remote-Entwickler verwenden Zero-Trust-Technologien wie AWS Verified Access oder virtuelle private Netzwerke (VPN) wie AWS Client VPN.

  2. AWS Transit Gateway vereinfacht das Netzwerkmanagement für die Konnektivität zwischen VPCs und von lokalen Netzwerken.

  3. Perforce verwaltet die Quell- und Versionskontrolle (CI), die durch Amazon EBS-Speicher unterstützt wird, sodass schnell auf persistente Daten zugegriffen werden kann. Perforce Helix Core ist verfügbar in der.AWS Marketplace

  4. Commits starten einen Build (CD) in Jenkins, wenn Entwickler Änderungen an Perforce übertragen, die an einen Branch gebunden sind. Perforce initiiert eine POST-Übertragung einer JSON-Payload an Jenkins. Der Jenkins-Controller ruft Headless-CLI-Befehle der Engine auf, um den Build-Prozess auf kurzlebigen Docker-Knoten (wie Amazon Spot-Instances oder Amazon EC2 On-Demand-Instances) auszuführen und zu parallelisieren. EC2 Entwickler können die Verfügbarkeit erhöhen, indem sie zwei Jenkins-Controller, einen in jeder Availability Zone, hinter einem Load Balancer verwenden. Für einige Game-Engines benötigen Entwickler möglicherweise eine zusätzliche Lizenzierungsinfrastruktur, die in zusätzlichen Subnetzen konfiguriert ist, um bei jeder Ausführung eines gleichzeitigen Builds Lizenzen für den Build-Kontext zu verkaufen.

  5. Der Xcode-Teil der iOS-Builds wird auf Amazon EC2 Mac-Instances ausgelagert, um die IPA-Datei zu signieren, zu erstellen und zu exportieren, wodurch der Prozess aufgeteilt und die Build-Zeiten reduziert werden.AWS Secrets Manager enthält Bereitstellungsprofile, private Schlüssel und Zertifikate.

  6. Build-Artefakte werden an Amazon S3 übermittelt, das Benachrichtigungen über Erfolg oder Misserfolg sendet. AWS Device Farm ermöglicht automatisiertes Testen für mobile Geräte.