이번 글에서는 테스터 환경을 어떻게 변화시켜왔는지 공유해보려 한다.
이 과정은 체감상 내 답답함 80%, 개척 20% 정도의 시간 소요가 있던 작업이다.
윗 문장을 이해하기 힘들 수 있다.
내 시간 흐름이 어땠는지 적어보겠다.
APK 직접 배포하기
회사에 처음 들어와서 어떤 업데이트 사항이 생기면 완성된 결과물을 QA팀에 전달해야 했다.
이 때, APK를 직접 빌드해서 메일로 전달했다.
초반에는 귀찮지 않았다.
그 이유로는
- 드디어 내가 회사에서 일을 하는구나
- 메일 용량 제한에 제약이 없다.
그렇게 나는 점점 배포해야할 앱이 많아지고,
결국 그룹웨어가 변경되고 나서는 메일함에 용량이라는 제약이 생기기 시작했다.
내가 QA팀에 APK를 전달할 때마다 메일함이 차오르기 시작했다.
(+ 타 부서에서 설치파일을 원하는 경우 APK파일을 전달했기 때문에 더욱 메일함은 빠르게 차올랐다.)
그래서 구글 플레이의 비공개 테스트 트랙을 활용하자고 건의드렸지만 리젝당했다.
그 이유로는
- QA팀에서 그 기능을 쓸 줄 모를 것이다.
- 비공개 테스트 트랙에서는 이전 버전 다운로드가 불가능하다.
1번 항목은 아직도 이해할 수 없는 대목이다.
QA팀에서 해당 기능을 사용할 줄 모른다는 점을 확신할 수 없고,
만약 그렇다 하더라도 우리가 안내해주면 된다는 생각이었다.
2번 항목은 나에게 정말 치명적인 단점이라고 생각되었다.
iOS TestFlight같은 경우는 특정 버전을 선택하여 설치할 수 있었다.
결국 구글 플레이의 비공개 테스트 트랙 활성화는 실패하고 말았다.
그래도 매번 메일을 통해 설치파일을 전달할 수는 없는 노릇이었다.
Google Drive 공유 폴더 사용하기
결국 생각해낸 것은 Google Drive의 공유 폴더 기능이었다.
버전별 APK 파일을 공유 폴더 하나에 몰아두면 누구나 버전을 선택해 다운로드할 수 있게 된다.
바로 실천해보았는데 결국 이것도 애매한 부분이 있었다.
- APK를 빌드해서 올려야만 한다.
- 결국 용량 제한이 있다.
- 용량 문제로 압축해서 업로드를 하면 다운로드 시 로컬에서 압축해제해야한다.
1번 문제는 말 그대로이다.
AAB를 빌드해서 올려두면 설치할 수 없기 때문에 APK로만 빌드해야 한다.
이 경우, 일단 용량이 커지고
스토어에서 다운로드하는 상황과 다른 상황이 될 수 있기에 아쉬움이 있었다.
2번 문제는 Google Drive가 15GB제한이 있다는 것이었다.
물론 이 용량 전부를 APK 파일로만 채우려면 시간이 오래 걸리겠지만
그렇게만 사용할 수는 없는 노릇이었다.
3번 문제는 다운로드하는 사용자가 매번 압축을 해제하고 업데이트를 할 때마다
이전 버전 설치파일을 삭제해야하는 번거로움이 생긴다는 것이었다.
게다가 최신 OS에서는 기본적으로 보안 경고가 출력되므로 반감을 사기 좋았다.
그렇게 이 환경에도 만족하지 못하게 되었다.
Firebase App Distribution 사용하기
최근 신규 프로젝트를 진행하며 Firebase 기능을 쭉 둘러보게 되었다.
App Distribution 기능을 발견하고 소개를 읽어보니
생각보다 내가 원하는 기능을 지원하는듯 하여 검토해보았다.
그리고 일단 버전 하나를 올려두고 나만 테스터로 등록한 뒤, 테스트를 진행.
사용방법을 터득하고 QA팀에도 해당 기능을 사용하도록
메일을 통해 안내해드렸다.
여기서 여러 장점을 봤는데
- 구글 플레이 비공개 테스트 트랙처럼 테스터 초대를 통해 참여 가능하다.
- 테스터 초대는 TestFlight처럼 메일로 진행된다.
- TestFlight처럼 App Tester라는 전용 앱이 있다.
- 이전 버전 설치가 가능하며 각 버전은 최대 150동안 설치 가능하다.(TestFlight는 90일)
- AAB 업로드가 가능하다.
대략 이러한 것들이 있다.
약간 헷갈렸던 점은 바로 앱 극초기 단계에는 적용할 때 확인해야 하는 것이 있다.
내부, 비공개, 공개 테스트 혹은 프로덕션 트랙으로 앱이 배포되어 있어야 한다.
그렇지 않은 경우, AAB 업로드가 불가능하다.
이런 사소한(?) 제약사항을 제외하면 상당히 만족스러운 상태이다.
마치며
이렇게 총 2단계를 거친 테스터 환경 구축은 마무리가 되었다.
APK로 직접 배포하던 근 2년간 매번 어떻게 개선할 수 있을까 생각해왔지만
근본적인 시간이 매우 모자랐고, 딱히 뾰족한 아이디어도 없었다.
하지만, "정말 너무 불편해서 못살겠다"는 생각이 드니 방향이 보였다고 해야할까.
Google Drive, App Distribution 기능까지의 교체는 거의 2달 정도만에 해치워버렸다.
지금 가장 근거리에 남아있는 문제는 빌드에 따른 네이밍 컨벤션을 설득하는 일이다.
나는 충실히 시맨틱 버저닝을 따르려 하지만(물론 완벽히 따라가고 있지 못한 것 같지만)
이를 납득하지 않는 사람을 어떻게 끌어들일 수 있을까 생각해보고 있다.
참조
Firebase Console을 사용하여 테스터에 Android 앱 배포 | Firebase App Distribution
4월 9~11일, Cloud Next에서 Firebase가 돌아옵니다. 지금 등록하기 의견 보내기 Firebase Console을 사용하여 테스터에 Android 앱 배포 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고
firebase.google.com
Semantic Versioning 2.0.0
Semantic Versioning spec and website
semver.org
'Android' 카테고리의 다른 글
Android Add Resource Value With Build Type And Flavor (0) | 2025.03.01 |
---|---|
Android EditText Text Repeating(글자 복제되는 현상) (0) | 2025.02.28 |
Store Signed APK 실행 시 Play Store로 이동 (0) | 2025.02.11 |
Android Share Image File In 2way (0) | 2025.01.01 |
Android add library using toml (0) | 2024.11.27 |