GitHub Actions로 App 자동으로 배포하기
두줄요약
fastlane으로 iOS·Android 앱 빌드와 스토어 업로드를 스크립트로 자동화했습니다. GitHub Actions와 Secrets로 인증 정보를 주입해 배포 환경 의존성을 줄였습니다.
문제 상황
- Android Studio·Xcode의 수동 빌드와 스토어 업로드로 인한 반복 작업
- 개발자 로컬 환경에 의존적인 빌드·배포 실행 구조
해결 방법
- fastlane Fastfile로 Android 빌드·Google Play 업로드와 iOS 빌드·TestFlight 업로드 스크립트화
- GitHub Actions와 self-hosted macOS runner로 GitHub 릴리즈 기반 자동 배포 구성
- iOS Provisioning Profile 동기화를 위한 fastlane match 적용
구조와 흐름
- Android release lane에서 사전 스크립트, Gradle 빌드, Play Store internal draft 업로드 수행
- iOS release lane에서 키체인 생성, 인증서 동기화, 앱 빌드, App Store Connect 인증, TestFlight 업로드 수행
- GitHub Secrets 값을 워크플로 환경 변수로 주입한 뒤 인증 파일 복호화·base64 디코딩과 설정값 치환 진행
주의할 점
- iOS 빌드용 macOS runner 필요성과 GitHub-hosted macOS runner의 상대적으로 높은 비용
- 변경 가능한 Provisioning Profile의 지속적 관리 필요성
- keystore·API 키 등 파일형 인증 정보의 안전한 복호화와 경로 배치 필요성


