본문 링크 (Original Link)

[iOS-factor] IV. 배포

배포를 자동화해서 아무 기기에서나 릴리즈할 수 있도록 하세요.

2018.06.03

#

by Felix Krause, translated by pilgwon

목차


디펜던시 요소에서 설명했듯이, 코드 레포지토리는 빌드, 테스트 그리고 iOS 앱의 배포까지 할 수 있는 모든 디펜던시를 포함하고 있어야 합니다.

앱이 이러한 요구 사항을 충족한다면, 여러분은 어떤 macOS 기반 기기에서도 새로운 앱을 릴리즈할 수 있게 될 것입니다.

이상적인 세계에선, 앱 업데이트를 릴리즈하기 위해선 다음과 같은 것들이 필요합니다.

불행하게도, Xcode가 macOS에서만 실행된다는 사실과 macOS를 기술적으로 가상화 하는 것은 법적인 문제이기 때문에 이 접근 방식(rdar://40669395)은 사용할 수 없습니다. macOS 개발환경을 일관성있게 유지해줄 수 있게 해주는 써드 파티 도구에는 Veertu가 있습니다.

최근 몇 년 동안, 일회용 컨테이너는 다양한 이유로 인기를 얻어왔습니다.

이제, iOS 개발자들이 할 수 있는 최고의 접근 방식은 다음과 같을 것입니다.

많은 회사들이 앱의 새 버전이 출시되는 일정에 배포 기차 컨셉을 사용합니다. masterrelease와 같은 메인 브랜치에 머지된 모든 코드는 배포 기차가 “떠나는” 시점에 App Store에 배포됩니다. 이 접근 방식은 대부분의 큰 iOS 앱에서 구현돼있는 방식입니다.


전체 소스 코드는 GitHub에서 확인하실 수 있습니다.

이 프로젝트는 Felix Krause에 의해 시작되었습니다.

이 프로젝트는 Apple과 아무 관계가 없습니다.