Search Unity

Unity Build Server로 프로젝트 빌드 작업 부담 해소

, 9월 25, 2020

Unity Build Server는 프로젝트 빌드 작업을 전용 하드웨어에서 처리하여 대규모로 프로젝트를 빌드하고 팀 생산성을 높일 수 있도록 지원합니다.

프로젝트 빌드가 Unity의 주된 기능은 아니지만, 프로젝트의 규모가 커지고 복잡해질 경우 프로젝트 빌드를 제대로 처리하지 못하면 큰 문제가 발생합니다. 개발 진행 도중 프로젝트 업데이트 속도에 맞춰 모든 이해 관계자에게 프로젝트 빌드를 충분히 배포하지 못한다면 개발에 차질이 생기게 됩니다. 또한 개발 팀이 자체 워크스테이션을 사용하여 프로젝트를 빌드하게 되면 빌드 완료까지 기다리는 과정에서 생산성이 크게 떨어지게 됩니다.

Unity Build Server 시작하기

Unity Build Server는 Unity 프로젝트 빌드를 위해 Unity를 배치 모드로 실행하는 라이선스 유형입니다. 따라서, 개발자는 프로젝트 빌드에 주요 워크스테이션을 사용하여 시스템 리소스를 소모하거나 다른 작업의 수행 속도를 늦출 필요가 없습니다. 또한 더 많은 팀원들이 각자 상황에 맞춰 빌드를 요청할 수 있으므로 수정 사항이 반영되었는지 확인하거나, 게임플레이 아이디어를 테스트하거나, 또는 새로운 빌드가 다른 타겟 플랫폼에서 올바르게 작동하는지 확인하기 위해 밤을 새워 기다리지 않아도 됩니다.

이용 대상

Unity Pro나 Unity Enterprise를 구독 중이라면 Unity Build Server를 이용할 수 있습니다. Unity Pro 고객은 애드온 팩을 통해 이용할 수 있으며, Unity Enterprise 고객에게는 보유한 Unity Enterprise 라이선스 개수에 따라 Build Server 라이선스가 제공됩니다. Enterprise 고객도 필요한 경우 애드온 팩을 통해 Build Server 라이선스를 추가할 수 있습니다. 따라서 Enterprise 구독자인 경우 지금 바로 Build Server를 사용할 수 있습니다.

작동 방식

Unity 에디터 라이선스는 설치 기기에 한정된 노드락(Node-locked) 유형 또는 플로팅(Floating) 유형이 제공되며, Unity Build Server의 경우 플로팅 라이선스로 배포됩니다. Unity Build Server는 플로팅 또는 노드락된 Unity 에디터 구성에서 모두 사용할 수 있습니다. 플로팅 라이선스에 대한 자세한 안내는 유니티에 문의하시기 바랍니다.

먼저 Unity ID 포털에서 Unity License Server를 설정하고 중앙화된 플로팅 Unity Build Server 라이선스 풀을 사용하여 스튜디오 네트워크에 로컬로 배포합니다. 이후 사용자가 프로젝트 빌드를 요청할 때마다 Unity License Server에서 Build Server 라이선스를 동적으로 제공합니다. 빌드 과정이 완료되면 라이선스가 자동으로 풀로 반환됩니다.

플로팅 라이선스의 유연성 덕분에, 라이선스를 수동으로 다시 할당할 필요 없이 네트워크 하드웨어나 배포 대상을 언제든지 변경할 수 있습니다. Unity Build Server는 널리 사용되는 자동화 및 CI(지속적 통합) 시스템을 통해서도 설정할 수 있으므로 기존 빌드 파이프라인을 방해하지 않으며 빌드 과정을 보다 유연하며 통합된 형태로 만들어 줍니다.

Unity ID 포털

Unity Build Server를 시작하려면 Unity ID 포털에서 라이선스 서버를 다운로드하세요. 라이선스 서버가 대상 서버로부터 필요한 정보를 가져오려면, 커맨드 라인 프로세스를 통해 설정에 관한 몇 가지 질문에 답변해야 합니다. 이후 서버 등록 파일이 Unity ID 포털에 업로드되면 Unity Build Server 라이선스가 생성되어 대상 서버로 다시 배포됩니다. 

배포 예시 1: 로컬 빌드 팜

Unity License Server가 스튜디오 내의 지정된 대상 하드웨어에 Unity Build Server 라이선스를 배포하여 프로젝트 빌드를 완료합니다. 또한 여기에는 Unity License Server가 사용자에게 플로팅 유형의 Unity 에디터 라이선스를 배포하는 과정도 나와 있습니다. Unity Build Server는 노드락 및 플로팅 유형의 Unity 에디터 라이선스에서 모두 사용할 수 있습니다.

배포 예시 2: 클라우드에서 빌드하기

Unity License Server가 스튜디오 외부에 위치하는 지정된 대상 하드웨어에 Unity Build Server 라이선스를 배포합니다(예: 가상 머신의 클라우드 배포). 또한 여기에는 Unity License Server가 사용자에게 플로팅 유형의 Unity 에디터 라이선스를 배포하는 과정도 나와 있습니다. Unity Build Server는 노드락 및 플로팅 유형의 Unity 에디터 라이선스에서 모두 사용할 수 있습니다.

Unity Build Server에 대해 자세히 알아보려면 제품 페이지를 방문하거나 유니티에 문의하시기 바랍니다.

14 replies on “Unity Build Server로 프로젝트 빌드 작업 부담 해소”

> Unity Build Server is a license type

This is very confusing, why name it “Server” when it’s not a server. It’s best to name it Unity Build License, or Unity Build Server License

Could you provide more information on how the commandline calls change when using this mechanism?
I guess something has to change, as the product page states “Unity 2019.4.3 LTS or later” as required version and it also states that the license will be returned automatically after the build has finished, which was previously not possible.

If the calls can be reduced from “Get License -> Call Batchmode -> Return License” to one call, how does it handle crashes? How is the returning of the license ensured then?

I’m really interested in this product, especially because of the pricing aspect, but the current amount of readily available documentation is hampering my excitement quite a bit.

You configure the Unity install to use the floating license server with a config file, and once that is in place, acquiring and returning licenses is completely automatic – you don’t need to explicitly specify anything on the command line.

The licenses are ‘leased’ from the license server, so if the Editor doesn’t exit cleanly, then after a (configurable) time the lease will expire and the license server will allow granting it to another machine. You can also manually revoke the lease, either from the client or from the licensing server.

This is good news, but I wish you could buy a single license. We’re a small studio that only has (and needs) two build machines and this penalises us.

Naming build server a license is very confusing. I entered expecting a ready to go solution to deploy and trigger builds in our server.
You should change the name.

No, we have no plans to remove batch mode from the Unity Editor. You can keep running what you have for CI – just remember that your CI machines need licenses, just like any other machine.

If your organisation is operating on a Unity Pro or Unity Enterprise tier, then Unity Build Server offers you a cheaper and more easy-to-administer alternative to applying full Pro or Enterprise licenses to your CI machines.

Some sort of trial would be useful – I couldn’t find any documentation to help inform a purchase decision. Eg a licence-free trial that did everything except make the actual build would help users understand how this might fit their workflow.

Unity Build Server just helps you with the licensing aspect of running Unity for your build machines – it doesn’t take a position on exactly how those builds get done beyond “Unity must only run in batch mode.”

So, incremental build support is up to your CI system – if you are using Jenkins, for example, and you configure it to preserve the working copy state between builds, then yes, your builds would happen incrementally.

Comments are closed.