View a markdown version of this page

云端游戏开发: CI/CD - 游戏行业镜头

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

云端游戏开发: CI/CD

CI/CD 在开发游戏时,无论团队规模大小,基础设施都很重要,可以缩短迭代时间,建立可靠性,高效部署,更好地控制开发和发布过程,从而为玩家提供高质量的游戏体验。游戏开发 CI/CD 管道通常由高度可用的源代码控制服务器和存储、用于运行编译版本的计算资源和用于执行自动测试的软件以及来自开发计算机的适当网络连接组成。以下参考架构演示了如何将游戏编译版本从远程或本地游戏开发环境转移到, AWS Cloud 以帮助开发人员迁移或构建新的编译农场。

将游戏编译版本卸载到云端

将游戏编译版本卸载到云端

  1. AWS Direct Connect 为办公室内开发人员提供低延迟、私密 AWS 的专用连接。远程开发人员使用零信任技术 AWS Verified Access,例如客户端 VPN,或虚拟专用网络 (VPN),例如 AWS 客户端 VPN。

  2. AWS Transit Gateway 简化了 VPC 之间和本地网络连接的网络管理。

  3. Perforce 管理由亚马逊 EBS 存储支持的源代码和版本控制 (CI),以实现快速访问的永久数据。Perforce Helix Core 可在中找到。AWS Marketplace

  4. 当开发人员将更改推送到绑定到分支的 Perforce 时,提交会在 Jenkins 中开始构建 (CD)。Perforce 启动 POST 向 Jenkins 发送 JSON 负载。詹金斯控制器调用引擎无头 CLI 命令,在临时的 Docker 节点(例如亚马逊 EC2 竞价型实例或亚马逊 EC2 实例)上运行和并行执行构建过程。 On-Demand开发人员可以通过在负载均衡器后面使用两个 Jenkins 控制器来提高可用性,每个可用区一个。对于某些游戏引擎,开发人员可能需要在额外的子网中配置额外的许可基础架构,以便在每次运行并行构建时为构建环境提供许可证。

  5. iOS 版本的 Xcode 部分被卸载到 Amazon EC2 Mac 实例,用于签署、构建和导出 .IPA 文件,从而分割流程并缩短构建时间。AWS Secrets Manager 保存配置文件、私钥和证书。

  6. 构建项目将交付到 Amazon S3,后者会发送成功或失败的通知。 AWS Device Farm 支持对移动设备进行自动测试。