Programmer:)

[Jenkins] 빌드 자동화 Jenkins 본문

DEV/Jenkins

[Jenkins] 빌드 자동화 Jenkins

ryeggg 2022. 4. 12. 12:23
반응형

리플레이스 모드 : 프로젝트 설정을 빌드 때마다 계속 신규설정으로 바꾸는 방식

어펜드 모드 : 새로 추가된 것을 기존의 것에 덧붙이는 방식

 

참고 내용

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 자동화 테스트 도구

 

 

 


참고

(참고:  배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기 )

 

https://sakib.wordpress.com/

 

Software Testing

Breaking bad for good reasons

sakib.wordpress.com

 

반응형
Comments