Programmer:)
[Jenkins] 빌드 자동화 Jenkins 본문
리플레이스 모드 : 프로젝트 설정을 빌드 때마다 계속 신규설정으로 바꾸는 방식
어펜드 모드 : 새로 추가된 것을 기존의 것에 덧붙이는 방식
참고 내용
https://www.inven.co.kr/webzine/news/?news=198792&sclass=19
유니티 모바일 빌드, 자동화하려면 어떻게 해야 할까
[유나이트 서울 2018 발표자 소개] 안현석 디렉터는 현재 에이스프로젝트 개발팀에서 디렉터로 재직 중이며, 과거 넥슨에서 팀장, 실장을 거쳐 10년 가량 개발팀에서 재직했다. 대표작으로는 모바
www.inven.co.kr
유니티 빌드 자동화 필수 Plugin
-Untiy3D Plugin : 유니티 빌드를 위한 플러그인
-Xcode Plugin : IOS 빌드를 위한 플러그인
-Ant Plugin/ Gradle Plugin : Android 빌드를 위한 플러그인
빌드 자동화 환경
- MAC + Jenkins
-IOS빌드 필요
-완전한 자동화를 위하여 유연성 있는 Jenkins사용
-SSD나 퓨전드라이브 사용 추천 (속도차이가 큼)
- GitHub
-Private 저장소 사용
-브랜치 사용하기 좋음
-향후 코드 리뷰/Pull Request 활용 가능성
Job 구성 단위
-최소 단위로 1개의 Job을 구성
-최소의 단위로 구성을 해야 융통성 있게 활용할 수 있다.
-플랫폼단위로 분리 (Android, iOS...)
-빌드 형태 단위 분리 (QA, 인앱테스트, 상용,,,)
-트리거를 활용하면 여러 Job을 연계하여 한번에 다수의 Job을 돌릴 수 있다.
빌드 서버 분산
-동시 다발적인 빌드 작업 필요
-동시에 다수의 빌드 작업시 빌드속도가 현저히 느려짐
-아무리 사양이 좋아도 1대의 빌드 머신으로 버거움
=> Slave 노드를 통한 분산 구성
-Jenkins는 손쉽게 빌드 머신 분산, 확장이 가능함.
-노드 생성 -> 에이젼트 실행 -> Job을 실행할 노드 구성
(에이스프로젝트 게임의 경우 현재 총 3대의 빌드머신/6개 프로젝트/48개의 Job구성으로 사용중이라고 함)
추가 작업들
-빌드번호 및 버전 올리기
-빌드 배포 및 백업
-에셋 번들 배포
-각종 알림 등 모든것이 자동화 하는것이 좋다.
(Shell Script, Python,,,등으로 개발 / VersionUpdater, ResourcesRegister....)
테스트 자동화
-빌드 후 앱 실행 및 간단한 테스트 자동화
-Monkeyrunner : google에서 나온 Android 자동화 테스트 도구
참고
Software Testing
Breaking bad for good reasons
sakib.wordpress.com
'DEV > Jenkins' 카테고리의 다른 글
[Jenkins] Unity - IOS Build , Xcode 아카이브 방법 (0) | 2022.04.29 |
---|---|
[Jenkins] Pipeline Script (환경변수, input, 병렬작업) (0) | 2022.04.25 |
[Jenkins] SSH연동 (freestyle, Pipeline) (0) | 2022.04.25 |
[Jenkins-Pipeline] Pipeline 구성 (commandline 인자 값 받아오기) (0) | 2022.04.21 |
[Jenkins-Pipeline] Jenkins(Mac...Windows..) - GitLab 연동 (0) | 2022.04.21 |