멀티플레이어 게임을 출시하는 북미의 AAA 스튜디오입니다. 게임 클라이언트, 데디케이티드 서버, 런처 를 각각 별도의 파이프라인으로 빌드하고 있었습니다.
스튜디오
- AAA 스튜디오, 북미
- 멀티플레이어 게임
- 클라이언트, 데디케이티드 서버, 런처
- 파일럿
이전
세 개의 파이프라인이 클라이언트, 데디케이티드 서버, 런처를 각자의 일정에 따라 빌드했습니다. 시간이 지나면서 버전이 서로 어긋났습니다. QA가 접속해야 할 서버와 맞지 않는 클라이언트를 받을 수 있었고, 플레이테스트 때마다 누군가가 세 빌드를 수작업으로 맞춰야 했습니다.
SpeedrunCI 활용 방식
타깃 셋, 프로젝트 하나
클라이언트, 데디케이티드 서버, 런처를 하나의 SpeedrunCI 프로젝트 안의 파이프라인 세 개로 구성해, 한곳에서 정의하고 트리거하고 추적합니다.
같은 변경에서 시작
세 파이프라인은 모두 같은 커밋에서 시작하므로, 한 실행의 클라이언트, 서버, 런처는 모두 동일한 소스로 빌드됩니다.
나란히 빌드
세 타깃이 여러 러너에서 동시에 빌드됩니다. 셋이 차례로 줄을 서는 대신, 가장 느린 타깃이 전체 속도를 정합니다.
한 세트로 출시
실행이 끝나면 클라이언트, 서버, 런처가 하나의 릴리스로 함께 게시되므로, QA와 플레이테스터는 언제나 서로 맞는 세트를 받습니다.
실패는 해당 타깃에만 머뭅니다
한 타깃이 실패하면 SpeedrunCI가 문제를 일으킨 단계, 로그, 변경을 짚어 수정을 제안하며, 다른 타깃의 결과는 그대로 유효합니다.
티켓 없이 빌드
디자이너와 QA는 Unreal Editor 플러그인에서 실행을 시작하고, 파이프라인 변경은 역할을 통해 빌드 팀의 몫으로 남습니다.
달라진 점
한 번의 실행으로 셋 모두 출시, 버전 일치. 플레이테스트는 서로 맞는 것으로 확인된 클라이언트, 서버, 런처로 시작하며, 빌드를 수작업으로 맞추는 사람은 없습니다.