返回文章列表
CTO | 互联网 | 2023-04-15

「行话」| 用 DevOps 高效交付游戏,是种什么体验?

极狐(GitLab)
一体化安全DevOps平台

什么是行话?

 

「行话」,是极狐 GitLab 近期推出的全新内容系列,探讨 Git 与 DevOps 在不同行业的实践场景与解决方案,希望能够为不同行业的软件开发者带来一些全新的思考和输入。

 

说行业,讲行话。

第一期,我们选择了「游戏行业」,讲「游戏行话」。

 

以下,enjoy。

 

 

 

程序员薅秃头发为哪般?

 

1. 大量的二进制文件需要版本管理。

 

游戏开发不可避免地会有各种各样的二进制文件 —— 图形、动画、视频、音频等等不同格式的大文件。二进制文件在 Git 上进行存储管理是有限制,所以开发组经常将二进制文件资产存储在其他系统中。

 

但是,这种分离管理代码和二进制文件的模式并不理想,因为在游戏开发中,所有贡献者(尤其是设计师和开发者)之间的合作是需要非常紧密,如果开发者在 Git 上维护代码,设计师在其他系统维护二进制文件资产,很有可能频繁出现不统一的矛盾和问题。对于任何采用敏捷、持续交付或 DevOps 开发方法的游戏开发团队来说,拥有一个“单一信息源 Single Source of Truth”是最基本的要求。

 

2. 团队协同多,产品交付慢

 

游戏行业有着复杂的生态系统,除了游戏的设计、运营、发布外,还有游戏用户的身份管理等系统。这些系统的研发、运维涉及到多个团队甚至是多个部门,不同部门使用不同的研发交付工具与流程,导致跨部门协作难、整体交付慢,无法快速向用户玩家交付最新游戏特性,无法为游戏玩家提供极佳的游戏体验。

 

3. 私有化代码托管平台的缺失

 

开源也是游戏发展背后的巨大推动力,很多著名的游戏引擎都是开源的,诸如在 GitHub 上开源的 Unity, Arsenal Game Engine,GoDot Engine,Ursina Engine,Stride Game Engine,在 GitLab 上开源的 Arctic,Acid 等。游戏厂商会使用开源引擎来快速构建自己的游戏,甚至在使用过程中会根据自身需求进行一些修改,而修改后的代码往往会自己托管,选择一个合适的可私有化的代码托管平台也成了游戏厂商的首选。

 

如果你遇到过以上问题,那么极狐 GitLab 游戏行业白皮书将会帮到你。

 

DevOps:游戏软件交付加速的破局之道

 

DevOps 经过了 13 年的发展,已经从理论探索走到了全面落地实践的阶段。众多企业和组织也在积极拥抱 DevOps,用 DevOps 来提升企业自身的软件研发效率。根据中国信通院发布的《中国 DevOps 现状调查(2021)》显示,中国企业 DevOps 落地实践成熟度在全面级继续扩展。调查显示,目前成熟度处于全面级的企业最多,为 35.40%,处于优秀级的为 16.53,只有 0.87% 的企业处于卓越级。

 

 

游戏行业也不例外,DevOps 在帮助企业加速游戏的研发上线,为游戏用户提供更多的游戏特性和更好的游戏体验。但是,游戏行业 DevOps 的实践过程中用到了很多工具链,这些工具往往是针对软件研发的某个阶段或者某几个阶段,无法做到一个工具覆软件研发的所有阶段。多工具链会带来一系列问题,诸如多工具链的安装维护(升级、安全补丁等)、多种工具链之间的集成、搭建起的 DevOps 系统与现有研发系统、安全管理系统的融合等。这些问题会导致运营成本(人力、沟通等)的上升,无法让企业更多的聚焦在业务交付与创新上。

 

打破上述困局的方法就是选择一个一体化的 DevOps 平台,企业只需要使用一体化 DevOps 提供的 DevOps 能力来赋能业务交付与创新,而无需将更多精力花费在 DevOps 上。根据《中国 DevOps 现状调查报告(2021)》显示,具备平台化、服务化、可视化与度量驱动改进特点是优秀级 DevOps 实践的标准,而这个数据仅仅为 16.53%,还有很大的发展空间。

 

极狐 GitLab:高效与安全齐备的一体化 DevOps 平台

 

极狐 GitLab 是一个安全的一体化 DevOps 平台,通过将多种工具链能力整合,做到了统一用户模型、统一数据存储、统一权限管理和统一用户界面。再将工具链整合能力与研发流程相结合,能够打破不同团队之间的协作壁垒,让团队协作更加高效。

 

1. 使用内置的 Git-LFS 功能,实现游戏中二进制文件的版本管理

 

Git 作为目前主流的版本控制工具,在 IT 行业使用率非常高。从  Stack Overflow 上几大版本控制工具的问题热度,很明显的是 Git 相关的问题占绝对领导地位,以 Git 为底座构建起的 GitHub、GitLab、极狐 GitLab 等在全球范围内拥趸者众多。

 

 

为了实现对二进制文件的版本控制,Git 做了扩展,通过 LFS(Large File System)来实现。而极狐 GitLab 内置 Git-LFS,只需要在对应的群组/仓库下面开启即可使用。

 

 

Git-LFS 的使用不仅方便了对游戏中二进制文件进行版本控制,而且会让整个仓库的拉取、更新效率得到有效的提升。

 

2. 极狐 GitLab 一体化 DevOps 平台

 

极狐 GitLab 一体化 DevOps 平台能够让所有与游戏研发相关的团队都在同一个平台上(极狐 GitLab)进行协作,提供从项目管理、源码托管、CI/CD、安全合规、运维管理等 DevOps 能力,覆盖了软件开发全生命周期。所有功能均可开箱即用,用户无需额外的配置管理及学习即可快速上手使用。在大大降低运营成本的同时,还能够加速软件的交付。

 

 

3. 极狐 GitLab 私有化部署

 

针对游戏引擎代码私有化托管难的问题,极狐 GitLab 提供私有化部署方式,用户可以快速构建起一个私有代码托管平台。目前私有化部署支持 Omnibus、Docker、Helm 等方式。私有化部署的实例还能够和企业自身的权限管理系统进行集成,做到安全统一管理。

 

举个例子

 

用户报告了一个游戏缺陷,经过研究之后发现需要协同游戏设计团队小 A、用户 ID 管理团队小 B 以及产品团队小 C 同时进行协作,而且需要在最快的时间内修复并上线,避免影响更多用户的使用。

 

这种场景下,只需要创建一个 Epic 来将游戏的缺陷描述清楚,并根据三个不同团队的讨论结果,分别在各自的项目下面创下 issue 来进行问题跟踪:

 

各个团队认领 issue 以后就可以开始问题的修复了。比如,对于研发团队来讲,可以使用极狐 GitLab workflow 完成相应的工作。

极狐GitLab 一体化DevOps平台 专为中国用户研发,免费试用60天专业版高级功能
售前咨询
联系电话
在线支持
预约演示