Blog

유니티 빌드 자동화1

January 11, 2014

유니티 빌드 자동화1

초안.

유니티로 게임 개발을 하면서 빌드 작업이 단순 반복 작업이지만 정확하게 이뤄저야 한다는 점
한가지의 동일한 소스를 가지고 여러 플랫폼을 빌드 해야되는 환경 또는 빌드 자체가 빈번 하게 이뤄지는 조직에서 이 단순작업을 정확하고 올바르게 할 수 있을까에 대해서 고민했고 여러 검색 결과 가능성을 얻어 실행에 옮겨 보았다.

올바른 빌드를 만들어 내기 위해서 단순 하면서도 간단한 방법은 잘하면 된다고 생각하지만
사람은 항상 정확하고 올바르지 못하다. 이랬었나 저랬었나 기억 가물가물 하기도 하고 A를 선택 해야 함에도 불구하고 B를 선택 하는 실수를 할 수 있다 이런 실수를 줄일 수 있다면 나와 여러분의 시간을 절약하고 프로그래밍에 더 몰두 할 수 있지 않을까 생각해 본다.

1. Jenkins 활용하기

Jenkins를 꼭 활용해야 하는 것은 아니다. Unity 빌드 과정과 Xcode 프로젝트 빌드 과정을 올바르게 이해 하고 있으면 Jenkins 와 동일한 역활을 하는 프로그램을 만들어 낼 수 있다고 생각하고 터미널 명령어를 통해 실행시키고 만들어 봤지만 Jenkins는 빌드 보고서라던지 기타 등등 내가 만드는 것보다 시간과 노력을 절약 시키고 모든 기능을 사용하진 않지만 다양한 Plugins 을 지원해주고 나의 소스를 공개 하지 않고 무료라서 선택하게 되었다
xcode 만 가지고 게임이나 앱개발을 한다면 맥 서버에서 지원해주는 CI 기능을 이용해도 좋을 듯하다 맥의 값을 생각한다면 ... 있는거 가지고 활용하는게 좋겠지만

2. 프로젝트 빌드 과정
빌드는 진행 하고 있는 프로젝트 마다 다르고 사용하는 플러그인이나 라이브러리에 따라서 조금씩 달라지겠지만 유니티로 개발 하는 대부분의 님들은 이러지 않을까 생각해본다.

unity 빌드

  1. 빌드 후 프로젝트(ios)나 apk(android) 가 저장 될 경로 지정
  2. 기존에 xcode 프로젝트가 없으면 생성
  3. xcode 프로젝트가 있다면 Append or Replace 할 것 인지 물어본다.

unity 빌드 후

  1. 빌드 할 환경 (AppStore, Ad Hoc, * Team  프로비저닝  or 인증서) 을 선택 후에 아카이브를 실행하고 프로비저닝에 맞는 ipa 를 추출한다.
  2. 그리고 앱스토어에 올리거나 퍼블리서나 QA에게 전달한다.
3. 필요 장비 및 소프트웨어
ios 빌드를 진행한다면 맥이 필요하고 unity 에서 빌드를 자동으로 진행하기 위해서는 unity pro 라이센스가 필요하다. 그리고 삽질도.

여기까지가 일반적인 빌드 과정이라고 생각하고 위에서의 빌드 프로젝트 과정을 Jenkins 를 이용해 실행했을 때 ios 빌드의 모든과정이 1분 40초 이내로 완료되어  3가지의 ipa 가 추출 되었다. 프로젝트의 크기에 따라 시간이 달라지긴 하겠지만 아무래도 컴퓨터가 자동으로 설정을 해서 빌드하니 신경을 덜써도 되는 점 그리고 빌드 시간을 단축 할수 있는 점이 장점 일듯 하다.

유니티 빌드 자동화2 에서 클릭 한번으로 모든 과정을 실행해 보고 자세한 설명을 하겠습니다.

읽어주셔서 감사합니다.