fastlane을 사용하여 테스터에 iOS 앱 배포

iOS 및 Android 앱의 빌드와 출시를 자동화하는 오픈소스 플랫폼인 fastlane을 사용하여 테스터에게 빌드를 배포할 수 있습니다. 이 경우 Fastfile에 정의된 간단한 지침을 따릅니다. fastlane과 Fastfile을 설정한 후에는 앱 배포를 fastlane 구성과 통합할 수 있습니다.

1단계: fastlane 설정

  1. fastlane을 설치 및 설정합니다.

  2. 앱 배포를 fastlane 구성에 추가하려면 iOS 프로젝트의 루트에서 다음 명령어를 실행합니다.

    fastlane add_plugin firebase_app_distribution

    명령어에서 원하는 옵션을 선택하라는 메시지가 표시되면 Option 3: RubyGems.org를 선택합니다.

2단계: Firebase 인증

Fastlane 플러그인을 사용하려면 먼저 Firebase 프로젝트로 인증해야 합니다. 다음 3가지 방법으로 인증할 수 있습니다.

3단계: Fastfile 설정 및 앱 배포

  1. ./fastlane/Fastfile 레인에서 firebase_app_distribution 블록을 추가합니다. 다음 매개변수를 사용하여 배포를 구성합니다.
    firebase_app_distribution 매개변수
    app

    앱에 Firebase 구성 파일(GoogleService-Info.plist)이 포함되지 않은 경우에만 필수 항목: 앱의 Firebase 앱 ID입니다. Firebase Console의 일반 설정 페이지에서 앱 ID를 찾을 수 있습니다.

    
    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    보관처리된 제품 경로를 기준으로 한 GoogleService-Info.plist 파일 경로입니다. 기본적으로 GoogleService-Info.plist로 설정합니다.

    app 매개변수가 지정되지 않은 경우 앱의 Firebase 앱 ID를 가져오기 위해 이 파일이 사용됩니다.

    firebase_cli_token

    플러그인의 로그인 작업을 실행할 때(위의 Google 계정을 사용하여 인증 참조) 또는 Firebase CLI를 사용하여 CI 환경을 인증할 때(자세한 내용은 CI 시스템에서 CLI 사용 참조) 인쇄되는 갱신 토큰입니다.

    service_credentials_file

    Google 서비스 계정 json 파일 경로입니다. 서비스 계정 사용자 인증 정보를 사용한 인증 방법은 위 내용을 참조하세요.

    ipa_path

    업로드할 IPA 파일의 절대 경로입니다. 지정하지 않으면 fastlane이 파일이 생성된 lane에서 파일 위치를 확인합니다.

    release_notes
    release_notes_file

    이 빌드의 출시 노트입니다.

    출시 노트를 직접 지정할 수 있습니다.

    
    release_notes: "Text of release notes"

    또는 일반 텍스트 파일의 경로를 지정합니다.

    
    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    초대할 테스터의 이메일 주소입니다.

    쉼표로 구분된 이메일 주소 목록으로 테스터를 지정할 수 있습니다.

    
    testers: "ali@example.com, bri@example.com, cal@example.com"

    또는 쉼표로 구분된 이메일 주소 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

    
    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    초대할 테스터 그룹입니다. 테스터 관리를 참조하세요. Firebase Console에서 찾을 수 있는 그룹 별칭을 사용하여 그룹을 지정합니다.

    쉼표로 구분된 목록으로 그룹을 지정할 수 있습니다.

    
    groups: "qa-team, trusted-testers"

    또는 쉼표로 구분된 그룹 이름 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

    
    groups_file: "/path/to/groups.txt"
    debug

    부울 플래그입니다. 이 값을 true로 설정하면 상세 디버그 출력이 표시됩니다.

    예:
    platform :ios do
        desc "My awesome app"
        lane :distribute do
            build_ios_app(...) # build_ios_app is a built-in fastlane action.
    
            firebase_app_distribution(
                app: "1:123456789:ios:abcd1234",
                testers: "tester1@company.com, tester2@company.com",
                release_notes: "Lots of amazing new features to test out!"
            )
    
        end
    end
  2. 마지막으로 레인을 실행하여 테스터가 빌드를 사용할 수 있도록 합니다.
    fastlane <lane>

빌드를 배포한 후에는 Firebase Console의 앱 배포 대시보드에서 150일(5개월) 동안 사용할 수 있습니다. 빌드가 만료되기 30일 전부터 Console 및 테스트 기기의 빌드 테스트 목록 모두에 만료 알림이 표시됩니다.

신규 테스터는 앱 테스트를 시작할 수 있는 이메일 초대를 받으며 기존 테스터는 새 빌드가 테스트될 준비가 완료되었다는 이메일 알림을 받습니다(테스트 앱 설치 방법에 대한 안내는 테스터 설정 가이드 참조). Firebase Console에서 각 테스터 상태(초대 수락 여부, 앱 다운로드 여부 등)를 모니터링할 수 있습니다.