목록 보기
GitHub Actions로 App 자동으로 배포하기
데브옵스

GitHub Actions로 App 자동으로 배포하기

스캐터랩 핑퐁
스캐터랩 핑퐁
2022년 8월 24일

두줄요약

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 키 등 파일형 인증 정보의 안전한 복호화와 경로 배치 필요성

다음 읽기

#GitHub Actions 주제를 이어서 읽기

React Native 앱의 배포 트랙 관리하기

React Native의 CodePush와 Deployment Key로 플랫폼·테스트 트랙별 JS 번들 배포를 관리했습니다.\nS3 adhoc 배포와 Release Tag 규칙을 결합해 내부 테스트와 QA 흐름을 자동화했습니다.

스캐터랩 핑퐁
스캐터랩 핑퐁
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...