一家位于北美、发布多人游戏的 3A 工作室。其游戏客户端、专用服务器和启动器各由一条独立的流水线构建。
工作室
- 3A 工作室,北美
- 多人游戏
- 客户端、专用服务器、启动器
- 试点
之前
三条流水线分别构建客户端、专用服务器和启动器,各有各的时间表。久而久之,版本逐渐错开:QA 可能拿到一个与它要连接的服务器不匹配的客户端,而每次试玩前,都得有人手动把三个构建对齐。
架构
01触发
源码控制一次已提交的改动
Unreal Editor 插件策划和 QA 发起运行
02编排
一个 SpeedrunCI 项目客户端、服务器和启动器流水线
角色与 SSO流水线修改仍由构建团队负责
03并行构建
游戏客户端同一提交
专用服务器同一提交
启动器同一提交
04交付
一个版本客户端、服务器和启动器,同一版本
QA 与试玩下载配套的一组
失败排查步骤、日志、改动和修复建议
他们如何使用 SpeedrunCI
01
三个目标,一个项目
客户端、专用服务器和启动器成为同一个 SpeedrunCI 项目中的三条流水线,因此可以在同一处定义、触发和跟踪。
02
从同一次改动启动
三条流水线从同一提交启动,因此一次运行中的每个客户端、服务器和启动器都由完全相同的源码构建。
03
同时构建
三个目标分布在多个运行器上同时构建。由最慢的目标决定整体进度,而不是三者依次排队。
04
作为一套交付
一次运行完成后,会把客户端、服务器和启动器作为一个版本一起发布,因此 QA 和试玩人员拿到的始终是配套的一组。
05
失败互不牵连
如果某个目标失败,SpeedrunCI 会指出出错的步骤、日志和导致问题的改动,并给出修复建议,而其他目标的结果依然有效。
06
构建无需提工单
策划和 QA 通过 Unreal Editor 插件 发起运行;借助角色权限,流水线的修改仍由构建团队负责。
改变了什么
一次运行交付三者,版本一致。试玩从确定彼此匹配的客户端、服务器和启动器开始,没人再需要手动对齐构建。
多人游戏专用服务器启动器