회사에 처음 입사하고 가장 먼저 한 일이 자동 배포 구축이었다.
왜 이 작업을 가장 먼저 했는 지는 아래에서 설명하고자 한다.
기존의 프로세스
기존의 앱 서비스 개발 방식은 아래와 같았다.
1. 서비스 기획
2. 디자인 개발
3. 앱 개발 및 테스트 앱 배포
4. QA 진행
- 실패시 다시 3번 작업 진행
5. 스토어 업로드
이 중 가장 오랜시간에 소요되는 구간이 바로 3. 앱 개발 및 테스트 앱 배포이다.
매번 개발자가 직접 테스트 앱을 빌드 후 TestFlight 혹은 apk 파일 전달 등의 방식으로 QA를 진행해 왔다고 한다.
개발자와 QA팀 사이에도 헷갈리고 환경 설정에 어려움이 많았다고 하여 자동화 배포를 구축하고자 했다.
- Firebase App Distribution (테스트 앱 서비스)
먼저 테스트 앱 플랫폼을 통일하고자 했다.
기존에 사용하던 Test Flight와 apk 파일 다운로드 방식보다는 Gmail을 통해 두 플랫폼 모두 바로 앱을 다운로드 받을 수 있어 개발팀과 QA팀 모두 편해질 수 있는 Firebase App Distribution을 택했다.
또한 테스터 관리가 QA의 핵심 중 하나인데 해당 서비스는 대쉬 보드에서 간단하게 테스터를 추가 혹은 삭제할 수 있다.
물론 iOS의 경우 추가 작업이 필요하다. UDID(device) 등록, profile 수정 등등,,,
자세한 것은 뒤의 사용법에서 설명하고자 한다. - Fastlane (배포 자동화 서비스)
먼저 테스트 앱 서비스를 정했다. 그 다음 해야할 것은 테스트 앱을 배포하기 위한 시스템을 구축하는 것이다.
앱 개발하면서 가장 귀찮은 일 중 하나가 빌드 및 배포이다. 직접 아카이브 후 빌드 파일을 올리는 수고를 덜기 위해 자동 배포를 도입하고자 했다. 단지 귀찮아서가 아닌 인간이 배포 과정에서 불가피하게 생길 수 있는 실수를 방지하기 위함도 있었다.
배포를 코드로 해결하면 적어도 배포 과정에서 실수해서 발생하는 문제는 없을 것이다.
사용하고자 할 서비스를 모두 선택 했으니 이제 사용하는 법을 설명하고자 한다.
Firebase App Distribution
먼저 Firbase App Distribtuion dashboard에 들어가서 앱을 추가해야한다.
앱 추가하기
iOS 버튼을 클릭하면 다음으로 인풋을 채우는 화면이 나오고 자신의 앱에 알맞게 채워주면 된다.
다음 버튼을 통해 계속 진행하여 앱추가가 끝나고 나면 아래 사진처럼 ipa를 올릴 수 있는 대시보드에 진입할 수 있다.
직접 빌드 파일을 올릴때에는 해당 탭에서 빌드 파일을 올려주면 된다.
테스터 추가하기
테스터 및 그룹 탭으로 넘어와 테스트 추가 인풋에 메일을 입력하면 아래와 같이 테스터로 추가가 될 것이다.
원하는 테스터들을 추가 했다면 초대 링크 탭으로 와서 초대 링크를 만들어 준다.
해당 링크를 테스터 들에게 보내주어 초대한 메일로 접속하면 테스터로 등록이 완료된다.
+ iOS는 테스터 등록에 추가 작업 필요하다.
테스터들을 등록하고 초대 링크까지 접속이 완료 됐다면 추가 작업을 위해 일단 새로운 테스트 버전을 출시 버전에서 직접 올려주자.
테스트 앱이 제대로 올라갔다면 테스터들에게 메일이 갔을 것이다.
메일에서 알려준 방식대로 진행하다 보면 테스터 및 그룹 탭에서 이전에 보이지 않았던 이름이나 색이 진해진 것을 볼 수 있을 것이다.
하지만 앱 다운로드 권한이 없다고 나와 실제 다운로드는 하지 못할 것이다.
Apple UDID 내보내기 버튼을 클릭하여 UDID리스트를 다운받자.
다운로드 받았다면 Apple Developer의 Devices탭으로 들어와 다운 받았던 list를 모두 등록해주자
등록이 끝났다면 배포할 때 사용하는 profiles에도 새롭게 추가한 device들을 등록해주자.
device등록이 모두 끝났다면 해당 profile로 다시 새로운 ipa를 추출하여 올리면 이제 테스터들이 아래 사진 처럼 앱을 다운 받을 수 있을 것이다! :D
다음 글에서는 이번에 세팅한 Firebase App Distribution에 Fastlane으로 자동 배포 할 수 있도록 구축하는 것에 대해 얘기하고자 한다.
Firebase App Distribution | Firebase 앱 배포
Firebase 앱 배포를 사용하면 신뢰할 수 있는 테스터에 앱을 쉽게 배포할 수 있습니다. 테스터 기기에 앱을 빠르게 제공하여 앱에 대한 의견을 조기에 자주 받을 수 있습니다. 또한 앱에서 Crashlytics
firebase.google.com
fastlane - App automation done right
The easiest way to build and release mobile apps. fastlane handles tedious tasks so you don’t have to. Developer hours saved 10,558,200
fastlane.tools
'iOS' 카테고리의 다른 글
[iOS / Swift] 테스트앱에서 deferred deep link 테스트하기 (Adjust) (0) | 2023.02.14 |
---|---|
[iOS / Swift] Fastlane으로 테스트 앱 자동 배포(CD) 구축하기 (2) (0) | 2023.02.13 |
[iOS / Swift] Firebase Remote Config로 강제/선택 업데이트 팝업 관리하기 (0) | 2023.02.03 |