fastlane 없이 앱스토어 리스팅 게시하기
deliver와 supply는 명령줄에서 메타데이터, 스크린샷, 바이너리를 두 스토어 모두에 푸시해요. 무료, 오픈소스이고 CI에 연결해두면 항상 최신 상태를 유지하죠. 대가는 누군가 그 파이프라인을 구축하고 유지해야 한다는 거예요. Ruby, Xcode 또는 Gradle, Fastfile, 그리고 UI 테스트 관리까지요. 파이프라인을 운영하고 싶지 않다면 노코드 경로는 스토어 웹 콘솔, 스토어 API 직접 호출, 또는 리스팅을 대신 작성해주는 도구예요. Mokbi는 실제로 게시까지 처리하는 노코드 경로예요. 스크린샷과 피처 그래픽을 디자인하고, 리스팅 전체를 작성해서 50개 언어로 번역한 다음, Play Developer API를 통해 Google Play에 바로 게시하고 App Store 버전은 App Store Connect에 준비해두어 제출만 하면 되도록 만들어줘요. Ruby도, Xcode도, UI 테스트도 필요 없어요.fastlane이 기본 답으로 꼽히는 데는 이유가 있어요. 무료이고 MIT 라이선스인 툴킷이며, deliver 액션(별칭 upload_to_app_store)은 명령 한 번으로 스크린샷, 앱 미리보기 영상, 메타데이터, 바이너리를 App Store Connect에 업로드해줘요. Android 쪽에서는 supply(별칭 upload_to_play_store)가 Google Play에서 동일한 작업, 즉 메타데이터, 스크린샷, APK 또는 앱 번들 업로드를 수행하고요. CI에서 실행하면 릴리스마다 리스팅이 재생성되어 앱과 어긋나는 일이 없어요.
그러니 정직한 질문은 "fastlane이 좋은가"가 아니에요. 실제로 좋으니까요. 진짜 질문은 그걸 좋게 만드는 파이프라인을 직접 소유하고 싶은지, 아니면 파이프라인 없이 리스팅을 업데이트하고 싶은지예요.
deliver와 supply가 실제로 하는 일
둘 다 공식 스토어 API를 감싼 래퍼예요. 내부적으로 fastlane은 여러분이 직접 할 수 있는 것과 같은 호출을 하고 있을 뿐이에요.
deliver(iOS). 앱 이름, 설명, 키워드, 릴리스 노트, URL, 카테고리, 심사 정보뿐 아니라 언어별 스크린샷과 미리보기 영상까지 업로드해요. 바이너리는 Apple의iTMSTransporter를 통해, 메타데이터는 App Store Connect API를 통해 전송돼요. 업로드 후 심사 제출까지 할 수 있어요.supply(Android). 메타데이터, 스크린샷, APK 또는 AAB를 Google Play에 업로드하며 트랙을 선택하고 빌드를 승격시켜요. 주의할 점은 업로드한 스크린샷이 해당 언어의 기존 스크린샷에 추가되는 게 아니라 대체한다는 거예요.
둘 다 API 키로 인증해요. Apple은 App Store Connect API 키, Google은 서비스 계정 JSON이죠. 그래서 한 번 설정해두면 CI에서 사람 개입 없이 실행돼요. 이게 핵심 매력이에요. 메타데이터와 스크린샷을 코드처럼 다루고, 저장소에 버전 관리하고, 빌드할 때마다 배포하는 것이죠.
fastlane의 진짜 비용
fastlane 설치와 실행은 무료예요. 비용은 설정과 유지 관리에서 나오고, 그 대가는 엔지니어링 시간으로 치러야 해요.
- 유지해야 할 런타임. fastlane은 Ruby 툴체인(Ruby 3.0 이상)이며 보통 Bundler로 관리해요. iOS 작업에는 Mac의 Xcode가, Android에는 Gradle 쪽이 필요해요. 설치하고 패치를 유지해야 할 진짜 장비인 셈이에요.
- 작성해야 할 설정 파일.
Fastfile이 레인을 정의하고,Deliverfile이나 Android 메타데이터 폴더가 리스팅 상세 정보를 담아요. 처음 제대로 동작하는 버전을 만드는 데 보통 하루 이틀은 걸려요. - 구축해야 할 CI. 자동화는 파이프라인 안에서만 값을 하니까, API 키, 서명 시크릿, 그리고 계속 정상 작동하도록 관리해야 할 빌드 러너가 필요해요.
- 사용한다면 스크린샷 캡처 관리 부담. fastlane의
snapshot은 시뮬레이터에서 UI 테스트를 실행해 언어별 스크린샷을 캡처해요. 이 테스트는 취약해요. 흔한 사례로 몇 달간은 잘 돌아가다가 UI가 바뀌면 흐름이 깨지고, 새로운 상태에 맞춰 테스트 코드를 다시 손봐야 하죠. snapshot은 기본적으로 불안정한 실행을 재시도하는데, 이는 네트워크나 데이터에 기인한 비결정성을 고치는 게 아니라 덮어버리는 것에 가까워요. 게다가 원본 출력물에는 캡션도 배경도 없어서, 결국 별도 도구에서 디자인을 마무리하는 팀도 많아요.
이 중 어느 것도 도구 자체를 깎아내리려는 게 아니에요. 정직한 트레이드오프예요. fastlane은 반복되는 수작업을 코드로 바꿔주지만, 그 대가로 여러분은 코드를 유지 관리해야 하죠. 매주 릴리스하고 릴리스 자동화를 전담하는 엔지니어가 있는 팀에게는 좋은 거래예요. 하지만 1년에 몇 번 리스팅을 업데이트하는 1인 개발자나 PM에게는, 파이프라인을 유지하는 비용이 절약되는 시간보다 클 수 있어요.
fastlane 없이 리스팅 업데이트하기
fastlane을 건너뛰어도 메타데이터와 스크린샷을 스토어에 올릴 방법은 세 가지가 남아 있어요.
1. 스토어 웹 콘솔
가장 단순한 경로예요. App Store Connect에서는 각 언어별 리스팅을 직접 편집하고 화면 크기별 슬롯에 스크린샷을 넣어요. Google Play Console에서는 언어별 스토어 등록정보를 편집하고 스크린샷을 업로드하고요. 코드도, 키도, 유지 관리할 것도 없어요. 그냥 클릭하면 되죠. 단점은 완전히 수작업이라는 거예요. 여러 언어에 걸쳐 화면 하나씩 처리하는 건 느리고 실수하기 쉬워요. 한두 언어라면 괜찮지만 20개 언어라면 고역이에요.
2. 스토어 API 직접 호출
두 스토어 모두 fastlane이 호출하는 것과 동일한 API를 공개하고 있어서, fastlane의 Ruby 스택을 도입하지 않고도 직접 스크립트를 작성할 수 있어요. Apple의 App Store Connect API는 단기 JWT(ES256, 여러분의 키로 서명)로 인증하는 REST API이며, 스크린샷 세트 생성, 이미지 바이트 예약 및 업로드, 메타데이터 패치용 엔드포인트를 제공해요. Google의 Play Developer API는 "edits" 모델을 써요. 편집을 열고, 리스팅과 이미지를 변경한 뒤 커밋하는 방식이죠. 이 방식은 완전한 제어권을 주고 커스텀 내부 대시보드에 적합하지만, 이제 그 연동을 직접 작성하고 유지 관리해야 해요. fastlane 파이프라인 전체보다는 부담이 작지만 제로는 아니에요.
3. 리스팅을 대신 작성해주는 관리형 도구
또 다른 노코드 경로는 리스팅을 대신 만들어주는 도구를 쓰고, 남은 일은 그걸 스토어에 올리는 것뿐인 방식이에요. 여기서 트레이드오프가 뒤집혀요. 엔지니어가 파이프라인을 소유하는 대신, PM이나 디자이너가 브라우저에서 리스팅을 직접 소유해요. CI 자동화를 포기하는 대신 엔지니어가 아예 필요 없어지는 거래예요.
Mokbi가 맞는 자리 — 정직하게
Mokbi는 fastlane의 CI 스토리를 대체하려 하지 않아요. 목표가 사람 개입 없이 빌드마다 재생성되는 스크린샷이라면, fastlane 파이프라인이 정답이고 무료예요. 저희는 다른 경우를 위한 도구예요. Ruby, Xcode, Fastfile, UI 테스트를 건드리지 않고 완성도 있는 리스팅을 내놓고 싶은 사람을 위한 것이죠.
브라우저에서 스크린샷을 디자인하고, 스토어 텍스트 초안을 작성하고, 리스팅 전체를 50개 언어로 번역할 수 있어요. 시뮬레이터도, CI도, 코드도 필요 없어요. 디자이너나 PM 한 명이 마케팅 화면 전체를 처음부터 끝까지 담당할 수 있죠.
마지막 단계까지 Mokbi가 처리해요. 스크린샷과 피처 그래픽을 디자인하고, 리스팅 전체를 작성해서 50개 언어로 번역한 다음, Play Developer API를 통해 Google Play에 바로 게시하고 App Store 버전은 App Store Connect에 준비해두어 제출 버튼만 누르면 되도록 만들어요. 마지막 제출과 심사 자체는 Apple이 요구하는 절차예요. 저희 쪽 빈틈이 아니라 Apple의 규칙이죠. fastlane이 호출하는 것과 같은 엔드포인트이고, 파이프라인만 빠진 셈이에요.
언제 무엇을 선택할까
- 매주 릴리스하고, 엔지니어가 있고, 어긋남을 원치 않는다면? fastlane이에요. 무료이고 자동화되어 있으며 스크린샷과 메타데이터를 앱과 정확히 맞춰줘요. 이보다 나은 건 없어요.
- 1년에 몇 번만 리스팅을 업데이트하고 CI에 쓸 여력이 없다면? 웹 콘솔이나 리스팅을 대신 작성해주는 도구예요. 그 빈도라면 파이프라인 유지 비용이 아까워요.
- 프로그래밍 방식 제어는 필요하지만 fastlane 스택은 원치 않는다면? App Store Connect API와 Play Developer API를 직접 호출하세요.
- 디자이너나 PM이 여러 언어에 걸쳐 리스팅을 직접 소유하길 원한다면? 브라우저에서 초안을 작성하고 번역하고 게시하세요. Mokbi가 Google Play에 게시하고 App Store 버전은 제출만 하면 되도록 준비해둬요.
fastlane은 무료이고 자동화된 현직 강자로서 그 자리를 지킬 자격이 있어요. 노코드 경로는 "더 낫다"는 게 아니라 다른 거래예요. CI 자동화를 포기하는 대신, 리스팅을 업데이트하기 위해 파이프라인을 구축하고 돌봐야 할 사람이 아무도 없어지죠.