Flutter

Flutter의 Fastlane 사용법과 자동 배포 설정 방법

wsstar 2025. 3. 30. 11:00
728x90
반응형

Flutter의 Fastlane 사용법과 자동 배포 설정 방법

Flutter 앱 개발에서 Fastlane을 사용하면 Google Play Store 및 App Store 배포를 자동화할 수 있습니다. Fastlane은 반복적인 빌드 및 배포 작업을 자동화하는 강력한 도구로, CI/CD 환경에서도 유용하게 활용할 수 있습니다.

이 글에서는 Flutter에서 Fastlane을 설정하고, Google Play Store 및 App Store에 자동으로 배포하는 방법을 설명하겠습니다.


1. Fastlane이란?

Fastlane은 iOS 및 Android 앱 배포를 자동화하는 오픈소스 도구입니다. Flutter 프로젝트에서 Fastlane을 사용하면 다음과 같은 장점이 있습니다.

  • Google Play Store 및 App Store 자동 배포: 수동 배포 과정 제거
  • 버전 관리 및 메타데이터 자동 업데이트
  • CI/CD 환경과 통합 가능: GitHub Actions, Bitrise, Jenkins 등과 연동

이제 Flutter 프로젝트에서 Fastlane을 설정하는 방법을 살펴보겠습니다.


2. Fastlane 설치 및 설정

(1) Fastlane 설치

Fastlane은 Ruby 기반 도구이므로, 먼저 Ruby 및 Bundler를 설치합니다.


# macOS / Linux
sudo gem install fastlane -NV

# Windows (WSL 사용 권장)
brew install fastlane

(2) Android 및 iOS 프로젝트에 Fastlane 설정

Flutter 프로젝트에서 Fastlane을 설정하려면 androidios 디렉토리에서 각각 초기화해야 합니다.


cd android
fastlane init
cd ../ios
fastlane init

이제 android/fastlaneios/fastlane 폴더가 생성되었으며, 각각 Fastfile이 포함되어 있습니다.


3. Android 앱 Google Play Store 자동 배포

(1) Google Play API 키 설정

  1. Google Play Console에서 서비스 계정을 생성하고 JSON 키 파일을 다운로드합니다.
  2. JSON 키 파일을 android/fastlane/ 폴더에 저장합니다.
  3. fastlane/.env 파일을 생성하여 API 키 경로를 추가합니다.

# .env 파일 설정
GOOGLE_PLAY_JSON_KEY=android/fastlane/play-store-key.json

(2) Fastlane을 사용한 Google Play Store 배포 설정

android/fastlane/Fastfile을 수정하여 배포 작업을 추가합니다.


platform :android do
  desc "Google Play Store 배포"
  lane :deploy do
    gradle(task: "bundleRelease")  # AAB 빌드
    upload_to_play_store(track: "internal") # 내부 배포 트랙
  end
end

(3) Fastlane 실행


cd android
fastlane deploy

이제 Fastlane이 자동으로 빌드한 후 Google Play Store에 앱을 배포합니다.


4. iOS 앱 App Store 자동 배포

(1) Apple 개발자 계정 설정

  1. Apple Developer 계정에서 App Store Connect API 키를 생성합니다.
  2. Fastlane이 인증할 수 있도록 App Store Connect API 키ios/fastlane 폴더에 저장합니다.

(2) Fastlane을 사용한 App Store 배포 설정

ios/fastlane/Fastfile을 수정하여 배포 작업을 추가합니다.


platform :ios do
  desc "App Store Connect에 배포"
  lane :deploy do
    build_app(scheme: "Runner") # iOS 빌드
    upload_to_app_store(skip_metadata: true, skip_screenshots: true)
  end
end

(3) Fastlane 실행


cd ios
fastlane deploy

이제 Fastlane이 자동으로 iOS 앱을 빌드하고 App Store에 업로드합니다.


5. CI/CD 환경에서 Fastlane 실행

(1) GitHub Actions에서 Fastlane 실행

GitHub Actions을 사용하여 Fastlane을 실행하려면 .github/workflows/flutter-ci.yml 파일을 생성하고 다음을 추가합니다.


name: Flutter CI/CD

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 저장소 체크아웃
        uses: actions/checkout@v2

      - name: Flutter 설정
        uses: subosito/flutter-action@v2
        with:
          flutter-version: "stable"

      - name: Fastlane 설치
        run: gem install fastlane

      - name: Android 앱 배포
        run: |
          cd android
          fastlane deploy

      - name: iOS 앱 배포
        runs-on: macos-latest
        steps:
          - name: Fastlane 실행
            run: |
              cd ios
              fastlane deploy

(2) Bitrise에서 Fastlane 실행

Bitrise에서 Fastlane을 실행하려면 Script Step을 추가하고 다음 명령어를 실행합니다.


cd android
fastlane deploy

결론

Fastlane을 활용하면 Flutter 앱의 배포 과정을 자동화할 수 있습니다.

  • Google Play Store 배포: upload_to_play_store 활용
  • App Store 배포: upload_to_app_store 활용
  • CI/CD 환경에서 실행: GitHub Actions, Bitrise 등과 통합 가능

이제 Fastlane을 활용하여 더욱 효율적인 Flutter 앱 배포 환경을 구축해 보세요!

728x90
반응형