View a markdown version of this page

雲端遊戲開發:CI/CD - 遊戲產業鏡頭

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

雲端遊戲開發:CI/CD

無論團隊大小為何,開發遊戲時,CI/CD 基礎設施都很重要,以改善迭代時間、建置可靠性、高效部署,以及更好地控制開發和發行程序,為玩家提供高品質的遊戲體驗。遊戲開發 CI/CD 管道通常包含高可用性的來源控制伺服器和儲存體、執行建置的運算資源,以及執行自動化測試的軟體,以及來自開發機器的適當網路連線。下列參考架構示範如何將遊戲組建從遠端或內部部署遊戲開發環境卸載至 AWS 雲端 ,以協助開發人員遷移或建置新的組建陣列。

將遊戲組建卸載至雲端

將遊戲組建卸載至雲端

  1. AWS Direct Connect AWS 為辦公室開發人員提供低延遲、私有的專用 連線。遠端開發人員使用零信任技術 AWS Verified Access,例如 或虛擬私有網路 (VPN),例如 AWS Client VPN。

  2. AWS Transit Gateway 簡化 VPCs與內部部署網路之間連線的網路管理。

  3. Perforce 管理 Amazon EBS 儲存體支援的來源和版本控制 (CI),以快速存取持久性資料。Perforce Helix Core 可在 中取得AWS Marketplace。

  4. 當開發人員將變更推送至繫結至分支的 Perforce 時,遞交會在 Jenkins 中啟動組建 (CD)。Perforce 會對 Jenkins 啟動 POST JSON 承載。Jenkins 控制器會呼叫引擎無周邊 CLI 命令,以跨暫時性 Docker 節點 (例如 Amazon EC2 Spot 執行個體或 Amazon EC2 隨需執行個體) 執行和平行化建置程序。開發人員可以使用兩個 Jenkins 控制器來提高可用性,每個可用區域中一個控制器位於負載平衡器後方。對於某些遊戲引擎,開發人員可能需要在其他子網路中設定的額外授權基礎設施,才能在每次執行並行建置時為建置內容提供授權。

  5. iOS 建置的 Xcode 部分會卸載至 Amazon EC2 Mac 執行個體,以簽署、建置和匯出 .IPA 檔案,分割程序並縮短建置時間。AWS Secrets Manager 會保留佈建設定檔、私有金鑰和憑證。

  6. 建置成品會交付至 Amazon S3,其會傳送成功或失敗的通知。 會 AWS Device Farm 啟用行動裝置的自動化測試。