发布时间: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作为一个强大的DevOps平台,提供了完整的自动部署工具,帮助开发团队实现代码从编写到生产的无缝转换。本文将详细解析GitLab的自动部署功能是什么,如何进行操作,以及这一功能的实用性评估,帮助读者全面了解并有效利用GitLab自动部署以提升开发效率。...
阅读全文 >
gitlab创建合并请求 gitlab合并冲突怎么解决
GitLab,作为一款广受欢迎的开源DevOps平台,为软件开发的各个环节提供了强大的支持。其中,合并请求(MergeRequest)是GitLab中协作开发过程中的关键环节,它不仅可以帮助团队成员审查代码,还能促进代码的合并,确保代码库的质量和一致性。然而,在使用GitLab进行代码合并时,不可避免地会遇到合并冲突的问题。本文将详细介绍如何在GitLab中创建合并请求、解决合并冲突,以及一些实用的合并技巧,帮助开发者更高效地使用GitLab进行项目管理和开发。...
阅读全文 >
gitlab合并请求有冲突 gitlab合并请求之后还原
在现代软件开发的敏捷开发流程中,GitLab作为领先的代码托管平台,为团队协作和版本控制提供了强大的支持。在GitLab中,合并请求(MergeRequest,MR)是实现分支合并和代码审查的重要功能。然而,在实际操作中,开发者可能会遇到合并请求冲突的问题,或者在合并请求后需要还原到之前的状态。本文将详细介绍如何处理GitLab中的合并请求冲突,并探讨合并请求之后的还原操作,同时分享一些GitLab的常用技巧,以帮助开发者提高工作效率。...
阅读全文 >
极狐GitLab x 南京大学|把好安全关,为 4000+ 师生开源创新加速
这组数字是南京大学与极狐GitLab 校企合作、开源创新的一个缩影。...
阅读全文 >