Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

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

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

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

1단계. 패스트레인 설정

  1. fastlane을 설치하고 설정합니다 .

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

    fastlane add_plugin firebase_app_distribution

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

2단계. Firebase로 인증

fastlane 플러그인을 사용하려면 먼저 다음 방법 중 하나로 Firebase 프로젝트에 인증해야 합니다. 기본적으로 fastlane 플러그인은 다른 인증 방법이 사용되지 않는 경우 Firebase CLI에서 자격 증명을 찾습니다.

3단계. Fastfile 설정 및 앱 배포

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

    앱에 Firebase 구성 파일( GoogleService-Info.plist )이 포함되어 있지 않은 경우에만 필요합니다 . 앱의 Firebase 앱 ID입니다. Firebase 콘솔의 일반 설정 페이지 에서 앱 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

    apk_path 를 대체합니다(더 이상 사용되지 않음). 업로드하려는 IPA 파일의 절대 경로입니다. 지정하지 않으면 fastlane은 파일이 생성된 레인에서 파일의 위치를 ​​결정합니다.

    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 콘솔에서 조회할 수 있습니다.

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

    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

테스터가 빌드를 사용할 수 있도록 하려면 다음 레인을 실행하세요.

fastlane <lane>

빌드를 배포하면 Firebase 콘솔의 앱 배포 대시보드에서 150일 동안 사용할 수 있습니다. 빌드가 만료된 후 30일이 지나면 콘솔과 테스트 장치의 테스터 빌드 목록에 만료 알림이 나타납니다.

이전에 앱 테스트에 초대되지 않은 테스터는 시작하라는 이메일 초대를 받습니다. 기존 테스터는 새 빌드를 테스트할 준비가 되었다는 이메일 알림을 받습니다. 테스트 앱을 설치하는 방법을 배우려면 테스터로 설정하기 를 참조하십시오 . 각 테스터의 상태를 모니터링하여 초대를 수락했는지 여부와 Firebase 콘솔에서 앱을 다운로드했는지 확인할 수 있습니다.

(선택 사항) 앱 배포에서 새 릴리스를 만들 때마다 빌드 번호를 자동으로 늘리려면 firebase_app_distribution_get_latest_release 작업 및 increment_build_number 작업 을 사용할 수 있습니다. 다음 코드는 빌드 번호를 자동으로 증가시키는 방법의 예를 제공합니다.

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

이 fastlane 플러그인 기능에 대해 자세히 알아보려면 앱의 최신 릴리스에 대한 정보 가져오기 를 참조하세요 .

4단계(선택 사항). 배포 테스터 관리

Fastfile 파일을 사용하거나 fastlane 작업을 직접 실행하여 앱 릴리스에서 테스터를 추가 및 제거할 수 있습니다. 실행 중인 작업은 Fastfile 에 설정된 값을 직접 재정의합니다.

테스터가 Firebase 프로젝트에 추가되면 개별 릴리스에 추가할 수 있습니다. Firebase 프로젝트에서 제거된 테스터는 더 이상 프로젝트의 릴리스에 액세스할 수 없지만 일정 기간 동안 릴리스에 대한 액세스 권한은 유지할 수 있습니다.

Fastfile 사용

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Fastlane 작업 실행

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

--emails 대신 --file="/path/to/testers.txt --emails 를 사용하여 테스터를 지정할 수도 있습니다.

firebase_app_distribution_add_testersfirebase_app_distribution_remove_testers 작업도 다음 인수를 허용합니다.

  • project_name : Firebase 프로젝트 번호입니다.
  • service_credentials_file : Google 서비스 자격 증명 파일의 경로입니다.
  • firebase_cli_token : Firebase CLI용 인증 토큰입니다.

service_credentials_filefirebase_cli_token 은 업로드 작업에서 사용하는 것과 동일한 인수입니다.

5단계(선택 사항). 앱의 최신 릴리스에 대한 정보 얻기

firebase_app_distribution_get_latest_release 작업을 사용하여 앱 버전 정보, 출시 정보, 생성 시간을 포함하여 앱 배포에서 앱의 최신 출시에 대한 정보를 가져올 수 있습니다. 사용 사례에는 버전을 자동으로 늘리고 이전 릴리스의 릴리스 정보를 이전하는 것이 포함됩니다.

작업의 반환 값은 최신 릴리스를 나타내는 해시입니다. 이 해시는 lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] 를 사용하여 사용할 수도 있습니다. 이 해시에서 사용 가능한 필드에 대한 자세한 내용은 REST API 설명서 를 참조하십시오.

매개변수

firebase_app_distribution_get_latest_release 매개변수
app

앱에 Firebase 구성 파일( GoogleService-Info.plist )이 포함되어 있지 않은 경우에만 필요합니다 . 앱의 Firebase 앱 ID입니다. Firebase 콘솔의 일반 설정 페이지 에서 앱 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 파일의 경로입니다. 서비스 계정 자격 증명을 사용하여 인증 하는 방법은 위를 참조하세요.

debug

부울 플래그입니다. 자세한 디버그 출력을 인쇄하려면 이것을 true 로 설정할 수 있습니다.

다음 단계