SDK Build Deploy
배포 자동화 구축 목적#
혼자서 많은 작업을 하다보니 배포시간으로 낭비되는 시간을 줄이기 위해 자동화를 선택했습니다.
나에게 주어진 역할#
-
Android SDK
-
iOS SDK
-
Unity SDK
-
유니티 Android 데모앱
-
유니티 iOS 데모앱
-
SDK Guide Docs 구축 및 관리
젠킨스 구축#
SDK 배포와 SDK 테스트용 데모앱 배포를 위해 Fastlane 과 Jenkins 를 사용했습니다.
-
젠킨스 설치
-
블루오션 플러그인 설치
-
유니티 플러그인 설치
iOS SDK 빌드#
iOS SDK 경우에는 배포사이클이 길다보니 Pipeline 을 사용하는게 직관적이고 관리하기 용이할 것 같아서 스크립트로 관리했습니다.
그리고 나중에 혹시 병렬로 처리했을때 확인이 어려울 수 있으니 Blue Ocean 을 설치하여 빌드 과정을 시각화했습니다.
-
pod install
-
fastlane build
-
Deploy
유니티 Android 빌드#
네이티브 SDK 배포 횟수만큼이나 유니티 빌드도 굉장히 많이 하기 때문에 구성하게 되었습니다.
프로젝트가 유니티 SDK 이다보니 주로 유니티 데모앱을 통해서 기능 테스트가 이루어지는데 아주 빈도수가 높습니다.
또한 apk 를 빌드후 테스트폰에 설치하는 행위도 고려하여 APK 다운로드페이지를 구축했습니다.
-
젠킨스내 유니티 플러그인 설치 및 설정
-
유니티 cli 실행시 파라미터 설정
-
shell 스크립트 작성
-
apk 업로드