全部案例研究
    试点 · 受保密协议约束不具名3A 工作室 · 北美

    客户端、服务器和启动器。一次运行,全部同步。

    一家位于北美、发布多人游戏的 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 插件发起运行;借助角色权限,流水线的修改仍由构建团队负责。

    改变了什么

    一次运行交付三者,版本一致。试玩从确定彼此匹配的客户端、服务器和启动器开始,没人再需要手动对齐构建。

    多人游戏专用服务器启动器

    更多案例即将推出

    更多试点正在进行中,他们的案例将陆续发布。希望下一个是你?试点会在你的一个真实 Unreal 项目上运行。