发布时间:2024-02-27 11: 16: 24
说起途游游戏(Tuyoo Games),也许你不一定熟悉,但提到《途游斗地主》、《胡莱三国》、《捕鱼大作战》、《富豪麻将》等多次进入了 iOS 畅销榜的游戏,想必亲切感就油然而生了。没错!这些作品都是出自途游游戏。
成立于 2013 年的途游游戏,是我国手游领域较早入局者,至今已服务全球十余亿用户,集移动游戏研发、运营、发行于一体,并拥有多项自主研发专利和数字智能技术,是中国领先的互动娱乐供应商。公司当前人员规模超过 1000 人,其中研发人员占比 50% 以上,并且连续多年研发投入增速超过 50%。
手游赛道竞争激烈,对持续迭代升级提出了高要求。因此,途游游戏十分关注如何提升研发效能和软件质量,为玩家提供更好的游戏体验。这既需要平台支撑,也需要方法赋能,二者相辅相成。
途游游戏 CTO 周欣说:
一方面,极狐GitLab 作为全球知名一站式 DevOps 平台,已通过十余年用户检验,实力过硬;另一方面,极狐GitLab 积累了一套非常成熟的敏捷开发体系,与我们的理念不谋而合。并且,其自身就是敏捷开发理念的样板工程,它的开发迭代经验对我们有很大的借鉴意义。
目前,途游游戏在极狐GitLab 上托管了近 800 个项目,超过 10000 个 pipeline 和 400 多 G 代码量级,建立了全方位研发快速响应闭环,从容应对日新月异的市场需求。
途游游戏如何步步为 “赢” ?离不开这些落地实践。
一体化平台 + Workflow|研发流程标准化与研发效率齐飞
之前,途游游戏通过不同工具来实现需求管理、源代码托管、CI/CD ,需求管理系统和源代码托管系统分离,导致代码变更难以和需求管理结合起来,即:在代码变更处无法看到需求的详细描述,在需求管理处也无法看到变更代码的详情,增加了人工操作、沟通的成本,有碍于研发效率提升。
现在,内部效能效率团队将研发流程“搬”到了极狐GitLab 上。极狐GitLab 一体化特性,提供开箱即用的 DevOps 能力,屏蔽了众多工具链的集成、安装细节,这让团队无需关注工具问题,可以专注于软件研发核心工作。
基于极狐GitLab Workflow,途游游戏将需求管理、代码审核、CI/CD、代码准入、单元测试、安全扫描等流程融合在一起,形成更体系、更规范的研发流程。
例如,当有需求时,产品经理或者需求提出者在极狐GitLab 上创建 issue 对需求进行详细描述,然后研发创建 MR 进行变更代码的提交;每次变更都会触发 CI/CD 进行构建、测试、扫描。并且,途游游戏将单元测试也集成到了 CI/CD 中,每次 CI/CD 执行结束都会给出对应的测试报告,研发可以直接在 MR 中根据结果来提升单元测试覆盖率。
途游效能效率研发负责人刘勇补充说:
一般的 CI 工具只会执行在源分支上,但极狐GitLab 有一个独特的功能叫做 Merge Result Pipeline ,它的单元测试是跑在特性分支和组分支合并之后的代码上,而不需要进行真正的合并,避免在特性分支的开发过程中,有其他人员抢先一步,在主分支上合并了其他的代码,而导致你的代码合并失败。
因为相关人员在极狐GitLab 一个平台上进行协作、沟通,效率得到了提升;并在代码提交推送规则、分支协作和保护策略、合并请求审批规则等功能支撑下,实现对每一行代码质量的把控。
Code Review + 单元测试 + Approve Rule|提升代码质量,打造精品游戏
代码是任何一个软件企业的核心资产。在使用极狐GitLab 前,途游游戏因为缺乏合适的工具和流程支撑,Code Review 落地实践仍有很大提升空间。为保障代码质量,测试团队投入了大量的时间和精力。
现在,途游游戏使用极狐GitLab Merge Request、Code Review 和 Approve Rule 的 “组合拳” 来提升代码质量。
所有代码变更以 Merge Request 的形式提交;通过在 Merge Request 中指派多个 Reviewer 来进行代码多人评审;评审完毕再由配置的 Approver 来进行 Merge 操作。
这种多人 Review 与多级审批机制,让团队内部对高质量代码迅速达成一致认知,在同一语言体系下,完成知识和经验传承,帮助途游游戏打造了一支高水准的效能效率团队。
方法论 + 样板工程|相辅相成助益敏捷开发
正如周欣所说,极狐(GitLab) 作为一体化 DevOps 平台开发者,公司本身是敏捷开发与管理的最佳实践者。
极狐GitLab 在产品迭代过程中,沉淀了大量优秀文档和方法论,以开源开放方式与所有感兴趣的伙伴共享;同时积极实践 Dogfooding 文化,即“使用极狐GitLab 研发极狐GitLab”,做自己的第一批用户,这有助于第一时间发现问题,通过 Issue 反馈问题和跟进改进。
途游游戏效能效率团队是追求卓越、热爱钻研的典型代表。
刘勇表示:“我们团队成员在推进敏捷开发过程中遇到疑问,就会去看极狐GitLab 开发迭代时记录下的那些‘痕迹’,看看它的 MR 是怎么描述的、 Issue 如何分类等等,将这些可贵经历与敏捷开发方法论相结合,给我们很多启发和答案,对于我们扎实执行敏捷开发有很大的助益。”
刘勇举例子说明途游游戏如何借鉴极狐GitLab 基于多级标签和里程碑的项目管理实践,将 DevOps 扎实有效进行到底:
需求太多?——通过实施 Epic、子 Epic 和 Issue 来对应原始需求任务;Issue 零散?——灵活自定义方式打标签,区分不同 Issue;Issue 分配?——通过看板进行 Issue 管理,建立研发、测试、产品团队视角的看板;项目跟踪?——利用里程碑 Milestone 进行迭代规划与回顾。
随着我国移动游戏进入平稳上升的发展期,玩家对于游戏质量的要求也越来越高,高质量精品化势在必行。
“在极狐GitLab 的助力下,我们将不断提升研发效能和研发流程标准化,向用户玩家交付高质量精品化游戏,让十亿玩家,能够随时随地快乐一下。”周欣说,“极狐GitLab 将成为我们打造高质量精品游戏的‘最佳辅助’!”
展开阅读全文
︾
读者也喜欢这些内容:
Gitlab放公网安全吗 Gitlab公网搭建有哪些注意事项
GitLab是一种强大的版本控制和协作平台,越来越多的团队和企业希望将GitLab放置在公网中,以便于团队成员访问。然而,这也有许多关于安全性的问题。本文将为您介绍“Gitlab放公网安全吗 Gitlab公网搭建有哪些注意事项”,帮助您更好地理解GitLab在公网环境中的使用。...
阅读全文 >
gitlab代码备份如何操作 如何用gitlab备份恢复特定库
在现代软件开发中,代码备份和恢复是保障项目安全和连续性的关键环节。GitLab作为一个强大的代码管理和协作平台,提供了多种备份和恢复功能,帮助开发团队有效管理代码库。本文将详细探讨gitlab代码备份如何操作,如何用gitlab备份恢复特定库,并介绍gitlab云部署更安全吗。通过这些内容,帮助用户更好地理解和使用GitLab,提高代码管理和团队协作的效率。...
阅读全文 >
gitlab fork和branch区别 gitlab如何把fork同步远端
在现代软件开发中,GitLab作为一个强大的代码管理和协作平台,广泛应用于版本控制、持续集成和持续交付等领域。开发者常常需要使用fork和branch来管理代码版本,理解这两者的区别以及如何同步fork至远端对于团队协作和项目管理至关重要。本文将详细探讨gitlab fork和branch区别 gitlab如何把fork同步远端,并进一步介绍gitlab 同步错误问题,帮助用户更好地利用GitLab进行高效的代码管理。...
阅读全文 >
gitlab空仓库拒绝推送是什么意思?如何把gitlab的空仓库都找出来?
在现代软件开发中,GitLab作为一款功能强大的代码管理和团队协作工具,被广泛应用于各类开发项目。然而,有时在使用GitLab时,可能会遇到空仓库拒绝推送的情况。这是什么意思?如何把GitLab的空仓库都找出来?本文将详细介绍gitlab空仓库拒绝推送是什么意思?如何把gitlab的空仓库都找出来?并探讨GitLab仓库管理员的用处有哪些。...
阅读全文 >