Firebase CLI를 사용하여 테스터에 Android 앱 배포


이 가이드에서는 Firebase CLI를 사용하여 APK를 테스터에 배포하는 방법을 설명합니다. CLI 도구를 사용하면 빌드에 대해 테스터 및 출시 노트를 지정한 후 그에 따라 빌드를 배포할 수 있습니다.

시작하기 전에

아직 추가하지 않았으면 Android 프로젝트에 Firebase를 추가합니다.

다른 Firebase 제품을 사용하지 않는 경우 프로젝트를 만들고 앱을 등록하기만 하면 됩니다. 그러나 이후에 추가 제품을 사용할 경우에는 위에 링크된 페이지의 모든 단계를 완료해야 합니다.

1단계: 앱 빌드

앱의 출시 전 버전을 테스터에게 배포할 준비가 되면 일반적인 프로세스에 따라 APK를 빌드합니다. 디버그 키 또는 앱 서명 키를 사용하여 APK를 서명해야 합니다.

2단계: 테스터에게 앱 배포

앱을 테스터에 배포하려면 Firebase CLI를 사용하여 앱 파일을 업로드합니다.

  1. 최신 버전의 Firebase CLI를 설치하거나 업데이트합니다. 사용 중인 OS에 해당하는 CLI의 독립 실행형 바이너리를 다운로드하는 것이 좋습니다. 로그인하여 프로젝트에 액세스할 수 있는지 테스트합니다.
  2. Firebase Console의 App Distribution 페이지에서 배포하려는 앱을 선택한 후 시작하기를 클릭합니다.
  3. appdistribution:distribute 명령어를 실행하여 앱을 업로드하고 테스터에게 배포합니다. 다음 매개변수를 사용하여 배포를 구성합니다.

    appdistribution:distribute 옵션
    --app

    필수 항목: 앱의 Firebase 앱 ID입니다. Firebase Console의 일반 설정 페이지에서 앱 ID를 찾을 수 있습니다.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Firebase CLI를 사용하여 CI 환경을 인증할 때 출력되는 갱신 토큰입니다. 자세한 내용은 CI 시스템과 함께 CLI 사용을 참조하세요.

    --token "$FIREBASE_TOKEN"
    --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

    상세 로그 출력을 표시하려는 경우 포함할 수 있는 플래그입니다.

    --test-devices
    --test-devices-file

    다음 배포 유형은 자동 테스터 베타 기능의 일부입니다.

    빌드를 배포할 테스트 기기입니다. 자동 테스트를 참조하세요.

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

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    또는 세미콜론으로 구분된 테스트 기기 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    자동 테스트 중에 사용할 자동 로그인의 사용자 이름입니다.

    --test-password
    --test-password-file

    자동 테스트 중에 사용할 자동 로그인 비밀번호입니다.

    또는 비밀번호가 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    자동 테스트 중에 사용할 자동 로그인 사용자 이름 필드의 리소스 이름입니다.

    --test-password-resource

    자동 테스트 중에 사용할 자동 로그인 비밀번호 필드의 리소스 이름입니다.

    --test-non-blocking

    자동 테스트를 비동기식으로 실행합니다. Firebase Console로 이동하여 자동 테스트 결과를 확인합니다.

    예를 들면 다음과 같습니다.

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    출시 버전 업로드 후 Firebase CLI는 다음 링크를 출력합니다. 다음 링크를 사용하면 바이너리를 관리하고 테스터 및 다른 개발자가 올바른 출시 버전을 사용할 수 있습니다.

    • firebase_console_uri - 단일 출시 버전을 표시하는 Firebase Console의 링크입니다. 이 링크를 조직의 다른 개발자와 공유할 수 있습니다.
    • testing_uri - 테스터가 출시 노트를 보고 기기에 앱을 설치할 수 있는 테스터 환경(Android 네이티브 앱)의 출시 버전 링크입니다. 테스터가 링크를 사용하려면 출시 버전에 액세스할 수 있어야 합니다.
    • binary_download_uri - 앱 바이너리(APK 또는 AAB 파일)를 직접 다운로드하고 설치하는 서명된 링크입니다. 링크는 1시간 후에 만료됩니다.

    테스터 및 그룹 관리

    출시 버전 배포 외에도 appdistribution:testers:addappdistribution:testers:remove를 사용하여 새 테스터를 초대하고 Firebase 프로젝트에서 기존 테스터를 삭제할 수 있습니다.

    Firebase 프로젝트에 테스터를 추가한 후 개별 출시 버전에 테스터를 추가할 수 있습니다. 삭제된 테스터는 프로젝트의 출시 버전에 더 이상 액세스할 수 없습니다. 최근에 삭제된 테스터는 일정 기간 동안 출시 버전에 계속 액세스할 수 있습니다.

    예를 들면 다음과 같습니다.

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    테스터 이메일은 공백으로 구분해야 합니다. 또한 --file /path/to/testers.txt를 사용하여 테스터를 지정할 수 있습니다.

    테스터가 많으면 그룹 사용을 고려해야 합니다. appdistribution:group:createappdistribution:group:delete를 사용하여 Firebase 프로젝트에서 그룹을 만들거나 삭제할 수 있습니다.

    --group-alias를 사용하여 appdistribution:testers:addappdistribution:testers:remove 명령어의 그룹을 지정합니다.

    예를 들면 다음과 같습니다.

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

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

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

테스터는 초대 유효 기간(30일) 만료 전에 앱 테스트를 수락해야 합니다. 초대 유효 기간이 만료되기 5일 전부터 Firebase Console의 출시 버전 테스터 옆에 만료 알림이 표시됩니다. 테스터 행의 드롭다운 메뉴를 사용하여 초대를 재전송하면 갱신할 수 있습니다.

다음 단계