《张廷进-SRE驱动的研发工业化改造-脱敏版.pdf》由会员分享,可在线阅读,更多相关《张廷进-SRE驱动的研发工业化改造-脱敏版.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、SRE驱动的研发工业化改造张廷进 IEG自硏游戏SRE负责人2010年加入腾讯,先后担任欢乐斗地主、和平精英等数十款等业务技术运营负责人;2021年,负责以SRE理论驱动研发效能提升相关工作;游戏特点及研发可用性定义SRE在游戏研发工业化的实践SRE在游戏研发全球化的探索游戏研发特点及研发可用性定义游戏 VS 传统互联网应用代码仓库大:除代码文件外,含大量的资源文件,尤为关注代码仓库性能,使用多元化,git/svn/P4独立或者组合使用,尤其P4在游戏行业中大量使用(海外标配),构建耗时长:普通互联网应用安装包普遍在500M以内,单次构建在30分钟以内,游戏安装包和资源文件加起来一般可达5G-
2、20G以上,客户端包单次构建耗时需要2-5H左右;构建频率以日构建为主:一般以每日转测为频率,研发提效主要解决的就是日构建各个环节的效率问题,普通互联网由于构建耗时短,可以有更灵活和更高频的构建频率;123游戏特点游戏研发可用性定义保障研发环境可靠性CICDCO保障生产环境可靠性以SRE理论驱动研发可用性建设,提升研发管线的工业化水平,确保版本能够按正常周期迭代;SRE在游戏研发工业化的实践常见游戏研发版本管理模式常见游戏研发分支主干分支热更分支运营分支特性分支修复分支主干分支为游戏版本核心方向,一般是实时构建,每日转测;针对较大的特性,单独拉取特性分支进行开发,择机合并至主干;主干分支dai
3、lybuild为最高频研发场景,是需要优先解决的;何为可靠的日构建?满足版本迭代周期要求,每天都可以构建出供次日进行功能验证的产物;游戏研发可靠性标准代码提交持续集成制品库手机引擎PC服务器程序代码库可用性标准1.速度快2.不卡顿3.容灾能力构建可用性标准1.成功率高2.耗时短开发测试策划美术PM服务器客户端制品分发代码仓库蓝盾构建制品产物制品可用性标准1.下载速度快2.下载成功率高故障联调云debug1.满足版本迭代周期要求2.CI全流程可观测制品分发可用性标准1.部署自动化率高,人工参与时间低2.部署成功率高;数据驱动的优化改造(优化之前,可观测先行)数据采集数据清洗数据计算数据展示优化实
4、践仓库管理员客户端开发SRE引擎开发蓝鲸监控仪表盘AnalyticsBKBASE蓝盾节点数据构建脚本埋点代码仓库日志其他研发数据游戏研发可靠性可观测能力建设(以构建为例)1.对构建的脚本进行的大量的埋点,将编译的每个子步骤的耗时、功能开关等信息上报,及时发现任意环节的异常;2.支持告警配置,可及时感知流水线总体/cook环节的耗时异常;原模式:未建立CI可观测能力,构建耗时粒度粗,优化无从下手优化后:建设可观测能力,对构建过程分解,可及时发现任意子环节的异常,并针对性优化游戏研发可靠性管线能力总览需求P4管控工具 需求与代码关联行云能力管线运转流程数字资产开发开发自测代码开发 内容生产提效仓库
5、提交 质量检查 拉取效率/卡顿率 安全容灾prebuild/动态编译检查工作流 prebuild预编译锁库 便捷的解锁库工具P4-TAPDP4管控系统p4一键解锁库 P4管控系统 p4一键解锁库客户端构建服务器构建部署TBS 构建成功率(客户端)构建时长(客户端)测试 客户端apk/ipa包/UE引擎安装效率日构建工作流 通过日构建工作流,批量管控手机&PC,自动安装游戏包&UE引擎&PC包,每日可为日构建迭代效率提升0.5H云debug 实时协同定位故障云debug工作流 通过云debug解决开发测试跨区域办公复杂故障协同定位效率需求层PM开发/美术开发/美术PMPM/构建管理员/前后台开发
6、测试/策划/客户端开发测试/策划/客户端开发9:00-17:0017:0017:00-Day2 08:00Day2 09:3001020304050607多场景需求分层、运转提效协作模式实践、业务需求驱动工具赋能持续高效交付转化构建机集群代码仓库(P4)可用性现状每日早晨,开发人员到岗第一件事情便是拉取昨日成功构建的最新代码,因此,研发可用性提升的第一步就是代码仓库的可用性提升;P4为游戏行业使用频率比较高的代码管理工具,但缺乏配套的管理工具;仓库大用户多拉取频繁使用不规范备份不完善和tapd无关联多地使用权限管理难每日卡顿2次代码仓库可用性提升:卡顿优化软件解决方案-1.连接分析-行云P4连