[iOS] fastlane 이용한 배포 자동화 (Firebase App Distribution 편)

parkgyurim·2022년 6월 3일
0

iOS 배포

목록 보기
4/5
post-thumbnail

💻 이 글은 Xcode Version 13.3.1, fastlane 2.206.2 를 바탕으로 작성하였습니다.

📌 참고

Firebase App Distribution

TestFlight 와 같이 Firebase App Distribution 는 흔히 사용되는 테스트용 테스트 배포 방식 중 하나입니다.
저도 팀 내 테스트용 앱 배포시에는 Firebase App Distribution 을 이용하고 있는데요, TestFlight 와 마찬가지로 Firebase App Distribution 또한 꽤나 번거로운 과정이 필요합니다.

  • 코드를 작성하고
  • 버전과 빌드를 올리고
  • Dependecy 들을 업데이트 하고
  • 빌드하고
  • Analyze 하고
  • Archive 하고
  • Firebase Console 에 .ipa파일을 첨부하고
  • Test Group 을 설정하고.. 등등

오늘은 fastlane 을 이용하여 이러한 과정들을 한줄의 커맨드로 자동화를 하는 방법을 알아보겠습니다.

📚 관련 공식 문서

Install Plugin

우선, 프로젝트의 루트 폴더에서 플러그인 설치를 위한 명령어를 실행합니다.

fastlane add_plugin firebase_app_distribution

🔥 이때 fastlane 이 Gemfile 을 수정하는데, Permission denied가 날 수 있습니다. 이럴 경우 sudo 를 이용해서 설치를 진행해주세요.

Authenticate with Firebase

Fastlane 플러그인을 사용하려면 먼저 Firebase 인증이 필요한데, Firebase 로그인을 통해서 인증을 해보겠습니다.

fastlane run firebase_app_distribution_login

반환된 URL에서 Firebase 로그인을 진행해서 토큰을 생성합니다.

Fastfile

이제 Firebase App Distribution 을 위한 플러그인 설치와 설정이 완료되었으니, 프로젝트 폴더에서 fastlane/Fastfile 로 이동해서 새로운 lane 을 만들어줍니다!

platform :ios do
  ...

  desc "Push a new beta build with Firebase App Distribution"
  lane :firebase do
    build_app(workspace: "[Target Project Name].xcworkspace", scheme: "[Target Scheme]")
    firebase_app_distribution(
		app: "[Firebase Console/Project 설정/일반/내 앱/앱 ID]",
		firebase_cli_token: "[방금 발급받은 Refresh Token]", 
		groups: "[Test Group Name]"
    )
  end
  
  ...
end

📚 공식 문서에서 firebase_app_distribution(...) 의 더 많은 파라미터 설정을 볼 수 있습니다.

Deployment

모든 설정과 lane 생성이 끝났고, 이제 이 lane 으로 배포를 해봅시다.

fastlane firebase

저는 Firebase App Distributionlane 이름을 firebase 로 설정했기때문에 위의 커맨드를 실행해줍니다.

배포를 위한 과정이 시작되고, 잠시뒤 배포 성공 메시지를 확인할 수 있습니다!

마무리

오늘은 TestFlightAppStore 뿐만 아니라 fastlane 에서 제공하는 Plugin 을 통해 간단하게 Firebase App Distribution 을 하는 과정을 알아보았습니다.

틀린 정보 또는 궁금한 점이 있다면 댓글 부탁드립니다! 읽어주셔서 감사합니다‼️

0개의 댓글