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

CI/CD를 사용하여 QA 테스터에게 Android 앱을 배포하기 위한 모범 사례

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

이 문서에서는 Firebase 앱 배포를 사용하여 CI/CD 환경에서 Android 시험판 테스트 워크플로를 지속 가능하고 반복 가능하게 만드는 모범 사례를 소개합니다. 솔루션에는 Gradle 및 fastlane이 포함되지만 더 많은 유연성을 제공하기 위해 Firebase 콘솔, Firebase CLI 및 공개 Firebase 앱 배포 API를 통해 사용 가능한 솔루션도 포함합니다. 또한 최적의 환경을 미리 계획할 수 있도록 릴리스 및 테스터 제한에 대해 설명합니다.

Apple 플랫폼도 사용 중인 경우 CI/CD 및 fastlane을 사용하여 QA 테스터에게 Apple 앱을 배포하기 위한 모범 사례를 참조하십시오.

시작하기 전에

이 문서의 모범 사례를 구현하기 전에 각 앱에 대해 Firebase 콘솔에서 앱 배포를 활성화해야 합니다. 앱 배포를 활성화하지 않은 경우 404 오류가 발생합니다.

앱 배포를 활성화하려면 다음 단계를 따르십시오.

  1. Firebase 콘솔에서 앱 배포 페이지 를 엽니다.
  2. Android 앱을 선택합니다.
  3. 시작하기 를 클릭합니다.

AAB(Android App Bundle)가 가장 일반적인 Android 패키지 형식이 되고 있으므로 Google Play에 연결 하여 테스터에게 AAB를 배포하는 기능을 설정하는 것이 좋습니다.

CI/CD 파이프라인을 사용하여 시험판 테스트 워크플로 자동화

테스터에게 앱 빌드 및 릴리스를 자동화하고 CI/CD를 사용하는 경우 fastlane 또는 Gradle 을 사용하는 것이 좋습니다. 또 다른 옵션은 다양한 Firebase 제품에 액세스할 수 있는 Firebase CLI 를 사용하는 것입니다.

패스트레인 사용

iOS 및 Android 앱 빌드 및 릴리스를 자동화하는 오픈 소스 도구인 fastlane을 사용하여 앱 배포를 CI/CD 파이프라인에 통합합니다. 최신 릴리스를 빌드하고 테스터에게 자동으로 배포하면 테스터가 항상 앱의 최신 테스트 버전을 사용할 수 있습니다.

fastlane과 앱 배포를 통합하는 방법을 알아보려면 fastlane 을 사용하여 테스터에게 Android 앱 배포 를 참조하세요.

그래들 사용

Gradle을 사용하여 앱 배포 Gradle 플러그인을 사용하여 Android 빌드 프로세스에 앱 배포를 통합합니다. 플러그인을 사용하면 앱의 build.gradle 파일에서 테스터 및 릴리스 정보를 지정할 수 있으므로 앱의 다양한 빌드 유형 및 변형에 대한 배포를 구성할 수 있습니다.

Gradle과 앱 배포를 통합하는 방법을 알아보려면 Gradle 을 사용하여 테스터에게 Android 앱 배포 를 참조하세요.

Firebase CLI 사용

앱 배포에서 제공하는 Firebase CLI 도구를 사용하여 빌드를 프로그래밍 방식으로 테스터에게 배포합니다. 빌드에 대한 테스터 및 릴리스 정보를 지정할 수 있습니다.

앱의 Firebase 앱 ID를 지정하고 선택적으로 출시 노트와 테스터 이메일이 포함된 파일을 추가하여 최신 Android 빌드를 배포합니다.

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

Firebase CLI를 사용하여 빌드를 자동화하는 방법에 대해 자세히 알아보려면 Firebase CLI를 사용하여 테스터에게 Android 앱 배포 를 참조하세요.

서비스 자격 증명을 사용하여 인증

앱 배포 fastlane 플러그인 , Gradle 플러그인 또는 Firebase CLI를 서비스 계정과 함께 사용하세요. 서비스 계정 은 사용자가 아닌 애플리케이션을 나타내는 Google 계정 유형입니다. CI 시스템은 서비스 계정을 사용하여 앱 배포 워크로드를 실행할 수 있습니다. 자세히 알아보려면 서비스 계정으로 인증을 참조하세요.

워크로드 아이덴티티 제휴를 사용하는 경우 서비스 계정 키 대신 자격 증명 구성 파일 을 생성하고 사용할 수 있습니다.

릴리스 제한을 염두에 두십시오.

앱 배포는 앱당 최대 1,000개의 릴리스를 지원합니다. 즉, 릴리스 제한을 초과하면 앱 배포가 제한을 초과하는 가장 오래된 릴리스를 자동으로 삭제합니다. 릴리스 제한을 관리하는 방법을 알아보려면 앱 릴리스는 얼마나 오래 사용할 수 있나요? 를 참조하세요.

여러 릴리스에 동일한 테스터 세트 추가

릴리스에 많은 수의 테스터를 추가하려면 앱 배포의 대량 테스터 관리 기능을 사용하세요.

그룹을 사용하여 동일한 테스터를 여러 릴리스에 추가하는 것이 좋습니다. 그룹 은 액세스 제어 목록 역할을 합니다. 그룹에서 테스터를 제거하면 해당 그룹에 배포된 모든 릴리스에 대한 액세스 권한을 잃게 됩니다. 자세한 내용 은 그룹에서 테스터 추가 및 제거 를 참조하십시오.

관리할 테스터가 많은 경우 Firebase 콘솔을 사용하여 테스터를 일괄 추가하고 삭제할 수 있습니다. 테스터 추가 및 제거를 자동화하려면 Firebase CLI , fastlane , Gradle 또는 공개 Firebase App Distribution API 를 사용 하십시오.

테스터 한도를 염두에 두십시오.

앱 배포는 Firebase 프로젝트 또는 앱 배포 그룹에 추가할 수 있는 테스터 수를 제한합니다. 이 한도를 초과하면 추가 테스터에게 앱을 배포할 수 없습니다. 테스터 제한에 대해 자세히 알아보려면 내 앱에 테스터를 추가하는 데 제한이 있나요? 를 참조하세요.

잠재적인 테스터가 테스트를 위해 자체 등록할 수 있도록 합니다.

더 많은 테스터에게 앱을 더 쉽게 배포하려면 초대 링크를 사용하는 것이 좋습니다. 초대 링크 는 테스터가 자신의 이메일 주소를 입력하여 앱 테스트에 등록할 수 있는 고유한 URL입니다. 사용자가 앱 테스터 목록에 자신을 추가할 수 있도록 하면 내부 테스트 기반을 원활하게 늘릴 수 있습니다.

초대 링크 사용 사례에는 회사 dogfood 프로그램, 대규모 QA 팀이 있는 조직, 개별 고객이 테스터 액세스를 제어할 수 있기를 원하는 개발자 그룹이 포함됩니다.

그룹에 대한 초대 링크를 만드는 것이 좋습니다. 초대 링크를 사용하여 등록한 모든 테스터는 후속 릴리스에 자동으로 추가됩니다.

자세한 내용은 초대 링크 만들기그룹에서 테스터 추가 및 제거 를 참조하십시오.

테스터가 관심 있는 버전을 테스트하고 있는지 확인하십시오.

새 버전이 업로드되면 테스터에게 이메일로 알려줍니다. 이 알림을 보완하기 위해 다음 기능(릴리스 링크 및 인앱 알림)을 사용하여 테스터가 관심 있는 특정 앱 버전을 테스트하고 있는지 확인할 수 있습니다.

  • 릴리스 링크: 테스터와 특정 버전을 공유하려는 경우 이 기능을 사용합니다. 릴리스 링크를 사용하는 방법을 알아보려면 Firebase 콘솔을 사용하여 테스터에게 Android 앱 배포 를 참조하세요. 이러한 링크는 빌드 자동화 도구와 함께 사용할 수 있도록 Firebase , fastlaneGradle 명령줄(CLI) 도구에서도 사용할 수 있습니다.
  • 인앱 알림: 테스터가 앱의 최신 버전을 테스트하고 있는지 확인하려는 경우 이 알림을 사용하세요. Firebase 앱 배포 Android SDK를 통합하면 앱의 새 빌드를 사용할 수 있을 때 앱 내에서 직접 테스터에게 알림을 표시할 수 있습니다. 인앱 알림을 추가하는 방법을 알아보려면 테스터에게 새 빌드에 대해 알림 을 참조하십시오.

퇴사하는 테스터의 액세스 권한을 자동으로 제거합니다.

CI/CD 내부 테스트 흐름이 실행 중이면 회사를 떠나는 사람들이 더 이상 내부 빌드에 액세스할 수 없도록 해야 합니다. 빌드에 대한 테스터 액세스를 관리하는 데 도움이 되도록 앱 배포는 다음 옵션을 제공합니다.