为什么很多人喜欢 Python? |
中手游是领先的全球化 IP 游戏运营商。根据 Analysys(易观智库)数据显示,截至 2019 年 12 月 31 日,除腾讯游戏外,中手游是拥有 IP 储备数量最多的中国游戏发行商,发行的移动 IP 游戏数量仅次于腾讯游戏。公司于 2019 年 10 月 31 日在香港联交所主板上市。
其名下有多款知名游戏,其中《择天记》及《传奇世界之雷霆霸业》上线后最高月流水账额分别超过人民币 1.7 亿元及人民币 2 亿元。
近年来,手游市场的玩家用户增量在逐渐减少,意味着过去渠道为王的盈利模式在弱化,游戏厂商的产品能力愈发重要,如何高效地研发出优质手游成为许多游戏厂商的发力点。而产品能力培养的背后,除了需要天马行空的创造力,还需要顺畅的研发流程以及高效的组织形式来落地想象力。
截止 2020 年年中,中手游线上活跃游戏已高达 80 余款。我们从中手游研发团队了解到,游戏项目的快速研发依赖于成熟的脚手架。基于多年的游戏自研经验,中手游已在内部系统中积累了大量脚手架,由不同的运维人员负责,每个运维人员自行在本地编写维护脚手架的脚本。
由于每个人的技术栈不同,脚本也是参差不齐,有些脚本已经用上了配置管理工具 Ansible,步入了滚动更新的自动化时代,有些还停留在逐行输入的手动时代。上述问题导致一旦出现人员更替,这些脚本就可能丢失或难以接手,拖延游戏研发效率。消除“对个人的强依赖”势在必行。
在生产环境中,脚本的运行也存在隐患。运维人员需要手动登录到生产环境中,拷贝并调用脚本。人工频繁地在生产环境中登录登出,不但有手工执行命令带来的操作风险,还有账号密码泄露的风险;并且由于脚本的执行与指定运维人员强相关,对生产环境的维护也带来了制约。
针对人肉管理带来的种种不便,CODING 提供了代码管理、持续集成以及 Wiki 知识库的能力,来帮助中手游的运维团队完成脚本的统一化管理、自动化流水线的构建以及运维操作事项的规范化管理。
中手游运维团队将脚本放置在 CODING 代码仓库中进行统一管理,既能方便存储与查看,又便于统一技术栈、统一规范以及版本控制。基于云端的代码托管,运维人员可随时随地查看或修改脚本代码,团队可以通过执行 CODING 代码扫描来进行代码规范与质量管理,团队管理人员可在 CODING 工作台中随时随地巡检所有项目的脚本情况。
解决好脚本管理的问题后,接下去就是脚本运行的问题。基于 CODING 的持续集成,通过选择使用自定义构建节点的方式,在构建计划中指定不同环境的配置文件,中手游将流水线接入了各种环境。流水线自动化调用 CODING 代码仓库中的脚本,避免了人工操作的风险;同时将安全相关的参数以保密形式的环境变量或安全凭据配置在 CI 中,也减少了口口相传的风险。
有了自动化流水线后,中手游运维团队可以按需制定发布计划,不再依赖指定人员的发布操作。对于测试环境日常频繁发布的小更新,开发人员提交代码后就会自动触发构建任务;生产环境则加入人工卡点,由运维手动触发构建任务。在流水线运行完毕后,团队人员还能够及时收到流水线运行结果通知。
在中手游运维团队过去的日常工作中,有大量的运维相关信息以本地文件形式进行共享,比如资源信息、发布操作注意事项,每位运维无法全面地掌握运维知识与规范,也很难和开发团队及时地共享变更。基于 CODING 的 Wiki 知识库,运维团队对工作进行了一次全面梳理,将所有运维知识与规范整理后放置在云端知识库中:
基于统一知识库,新成员可以快速掌握运维操作要点,开发和运维也能及时共享运维规范信息,团队之间的信息不对称呈量级下降。MD 文档形式让 Wiki 编辑也更加方便易用;对于安全相关的 Wiki 内容 CODING 支持开启访问者水印,大大减少内容泄漏的风险。
由于运维的工作特性,对安全有很高的要求。中手游的运维团队使用了 CODING 的 IP 白名单机制以及日志功能来提高人员登录 CODING 的安全性。在登录日志中可以看到每次登录的IP及地址库中匹配的地理位置,在操作日志中可以看到成员的操作类型、操作内容等信息。
同时 CODING 还提供了精细的权限划分和易用的权限设置,几乎每个功能模块都支持权限开关、读写分离。例如中手游团队把开发在持续集成模块的权限仅设为访问,而无管理和删除权限,这样开发只能触发运行,运维才能管理流水线。
通过 CODING 的代码仓库、持续集成以及 Wiki 知识库,中手游的运维团队将游戏脚手架发布所需的基础配置信息,以代码的形式进行统一管理起来,同时将重复繁琐的发布操作自动化,这使得开发与运维的合作更加紧密,降低了团队之间的损耗,让游戏的交付更加有序、规范、高效。
中手游目前处在非常快速的发展时期,在未来,中手游将基于 CODING 打造更加快速的游戏交付流程,给玩家们带来更快更好更新奇的游戏体验。
点击进入 CODING,体验高效云上研发工作流
过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号