V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
CodingNET
V2EX  ›  Coding

CODING 助力中手游甩开低效桎梏,尽情奔向游戏王国

  •  
  •   CodingNET · 2020-11-03 15:27:50 +08:00 · 2086 次点击
    这是一个创建于 1501 天前的主题,其中的信息可能已经有所发展或是发生改变。

    中手游

    中手游是领先的全球化 IP 游戏运营商。根据 Analysys (易观智库)数据显示,截至 2019 年 12 月 31 日,除腾讯游戏外,中手游是拥有 IP 储备数量最多的中国游戏发行商,发行的移动 IP 游戏数量仅次于腾讯游戏。公司于 2019 年 10 月 31 日在香港联交所主板上市。

    其名下有多款知名游戏,其中《择天记》及《传奇世界之雷霆霸业》上线后最高月流水账额分别超过人民币 1.7 亿元及人民币 2 亿元。

    手游进入 2.0 时代,人肉运维亟待解决

    近年来,手游市场的玩家用户增量在逐渐减少,意味着过去渠道为王的盈利模式在弱化,游戏厂商的产品能力愈发重要,如何高效地研发出优质手游成为许多游戏厂商的发力点。而产品能力培养的背后,除了需要天马行空的创造力,还需要顺畅的研发流程以及高效的组织形式来落地想象力。

    截止 2020 年年中,中手游线上活跃游戏已高达 80 余款。我们从中手游研发团队了解到,游戏项目的快速研发依赖于成熟的脚手架。基于多年的游戏自研经验,中手游已在内部系统中积累了大量脚手架,由不同的运维人员负责,每个运维人员自行在本地编写维护脚手架的脚本。

    1

    由于每个人的技术栈不同,脚本也是参差不齐,有些脚本已经用上了配置管理工具 Ansible,步入了滚动更新的自动化时代,有些还停留在逐行输入的手动时代。上述问题导致一旦出现人员更替,这些脚本就可能丢失或难以接手,拖延游戏研发效率。消除“对个人的强依赖”势在必行。

    在生产环境中,脚本的运行也存在隐患。运维人员需要手动登录到生产环境中,拷贝并调用脚本。人工频繁地在生产环境中登录登出,不但有手工执行命令带来的操作风险,还有账号密码泄露的风险;并且由于脚本的执行与指定运维人员强相关,对生产环境的维护也带来了制约。

    统一的代码管理,自动化的流水线

    针对人肉管理带来的种种不便,CODING 提供了代码管理、持续集成以及 Wiki 知识库的能力,来帮助中手游的运维团队完成脚本的统一化管理、自动化流水线的构建以及运维操作事项的规范化管理。

    2

    云端代码管理替代本地零散存储

    中手游运维团队将脚本放置在 CODING 代码仓库中进行统一管理,既能方便存储与查看,又便于统一技术栈、统一规范以及版本控制。基于云端的代码托管,运维人员可随时随地查看或修改脚本代码,团队可以通过执行 CODING 代码扫描来进行代码规范与质量管理,团队管理人员可在 CODING 工作台中随时随地巡检所有项目的脚本情况。

    3

    自动化流水线提高发布效率

    解决好脚本管理的问题后,接下去就是脚本运行的问题。基于 CODING 的持续集成,通过选择使用自定义构建节点的方式,在构建计划中指定不同环境的配置文件,中手游将流水线接入了各种环境。流水线自动化调用 CODING 代码仓库中的脚本,避免了人工操作的风险;同时将安全相关的参数以保密形式的环境变量或安全凭据配置在 CI 中,也减少了口口相传的风险。

    4

    有了自动化流水线后,中手游运维团队可以按需制定发布计划,不再依赖指定人员的发布操作。对于测试环境日常频繁发布的小更新,开发人员提交代码后就会自动触发构建任务;生产环境则加入人工卡点,由运维手动触发构建任务。在流水线运行完毕后,团队人员还能够及时收到流水线运行结果通知。

    5

    Wiki 知识库规范运维操作

    在中手游运维团队过去的日常工作中,有大量的运维相关信息以本地文件形式进行共享,比如资源信息、发布操作注意事项,每位运维无法全面地掌握运维知识与规范,也很难和开发团队及时地共享变更。基于 CODING 的 Wiki 知识库,运维团队对工作进行了一次全面梳理,将所有运维知识与规范整理后放置在云端知识库中:

    • 测试 /类生产 /生产环境资源管理
    • 发布变更规范
    • 故障管理规范
    • 业务模块质量打分机制等

    基于统一知识库,新成员可以快速掌握运维操作要点,开发和运维也能及时共享运维规范信息,团队之间的信息不对称呈量级下降。MD 文档形式让 Wiki 编辑也更加方便易用;对于安全相关的 Wiki 内容 CODING 支持开启访问者水印,大大减少内容泄漏的风险。

    6

    精细化的安全机制保驾护航

    由于运维的工作特性,对安全有很高的要求。中手游的运维团队使用了 CODING 的 IP 白名单机制以及日志功能来提高人员登录 CODING 的安全性。在登录日志中可以看到每次登录的 IP 及地址库中匹配的地理位置,在操作日志中可以看到成员的操作类型、操作内容等信息。

    同时 CODING 还提供了精细的权限划分和易用的权限设置,几乎每个功能模块都支持权限开关、读写分离。例如中手游团队把开发在持续集成模块的权限仅设为访问,而无管理和删除权限,这样开发只能触发运行,运维才能管理流水线。

    7

    基础设施代码化,助力团队聚焦核心业务

    通过 CODING 的代码仓库、持续集成以及 Wiki 知识库,中手游的运维团队将游戏脚手架发布所需的基础配置信息,以代码的形式进行统一管理起来,同时将重复繁琐的发布操作自动化,这使得开发与运维的合作更加紧密,降低了团队之间的损耗,让游戏的交付更加有序、规范、高效。

    中手游目前处在非常快速的发展时期,在未来,中手游将基于 CODING 打造更加快速的游戏交付流程,给玩家们带来更快更好更新奇的游戏体验。

    点击进入 CODING,体验高效云上研发工作流

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   787 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:43 · PVG 05:43 · LAX 13:43 · JFK 16:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.