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

CI(지속적 통합) 시스템으로 테스트 시작

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

지속적 통합(CI) 시스템을 사용하여 앱을 개발할 때 Firebase Test Lab을 사용할 수 있습니다. 지속적 통합 시스템을 사용하면 앱 소스 코드 업데이트를 체크인할 때마다 자동으로 앱을 빌드하고 테스트할 수 있습니다.

Jenkins CI와 함께 Firebase Test Lab 사용

이 섹션에서는 Jenkins CI 와 함께 Test Lab을 사용하는 방법을 설명합니다.

요구 사항

Jenkins에서 Firebase Test Lab을 사용하려면 먼저 다음 단계를 완료해야 합니다.

  1. gcloud를 설정합니다. gcloud 명령줄에서 Firebase Test Lab 사용 의 안내에 따라 Firebase 프로젝트를 만들고 로컬 Google Cloud SDK 환경을 구성하세요.

  2. 서비스 계정을 만들고 승인합니다. 서비스 계정은 CI 빌드를 차단할 수 있는 스팸 확인 또는 보안문자 프롬프트의 대상이 아닙니다. Google Cloud Console 에서 편집자 역할로 서비스 계정을 만든 다음 활성화합니다(자세한 내용은 gcloud auth activate-service-account 문서 참조).

  3. 필수 API를 활성화합니다. 서비스 계정을 사용하여 로그인한 후: Google Developers Console API 라이브러리 페이지 에서 Google Cloud Testing APICloud Tool Results API를 활성화합니다. 이러한 API를 활성화하려면 콘솔 상단에 있는 검색 상자에 이러한 API 이름을 입력한 다음 해당 API에 대한 개요 페이지에서 API 활성화를 클릭합니다.

Jenkins 설치 및 설정

Linux 또는 Windows에서 Jenkins CI를 설치하고 설정할 수 있습니다. 이 가이드의 특정 세부 정보는 파일 경로에 슬래시( / )를 사용하는 것을 포함하여 Linux에서 Jenkins CI를 설치하고 실행하는 데만 적용됩니다.

Linux 또는 Windows를 실행하는 컴퓨터에 Jenkins를 다운로드하고 설치하려면 Jenkins 설치 지침을 따르십시오. Jenkins를 설치한 후 Jenkins 시작 및 액세스 의 지침에 따라 설정을 완료하고 Jenkins 대시보드에 액세스합니다.

전역 보안 설정 구성

Jenkins는 처음 설치될 때 구성된 사용자 인증 및 액세스 제어가 없습니다. Firebase Test Lab에서 Jenkins를 사용하기 전에 액세스 제어를 적용하고 사용자를 인증하도록 전역 보안 설정을 구성하세요.

전역 보안 설정을 구성하려면

  1. 서버에서 Jenkins 대시보드로 이동합니다. 이렇게 하려면 http://<servername>:8080 으로 이동합니다. 여기서 <servername>은 Jenkins를 설치한 컴퓨터의 이름입니다.
  2. Jenkins 대시보드에서 Jenkins 관리 를 클릭한 다음 글로벌 보안 구성 을 클릭하십시오.
  3. 글로벌 보안 구성 페이지에서 보안 활성화 를 클릭한 다음 저장 을 클릭합니다.

Jenkins의 보안 설정 구성에 대한 자세한 내용은 빠르고 간단한 보안 , 표준 보안 설정Jenkins 보안을 참조하세요.

젠킨스 프로젝트 생성

다음으로 Firebase Test Lab으로 앱의 지속적 통합 테스트를 실행하기 위한 프로젝트를 만듭니다.

Jenkins 프로젝트를 생성하려면

  1. 서버에서 Jenkins 대시보드로 이동합니다. 이렇게 하려면 http://<servername>:8080 으로 이동합니다. 여기서 <servername>은 Jenkins를 설치한 컴퓨터의 이름입니다.
  2. Jenkins 대시보드에서 새 항목 을 클릭합니다.
  3. 항목 이름 필드에 프로젝트 이름을 입력합니다.
    • 단일 빌드 구성을 사용하는 프로젝트를 만들려면 자유형 프로젝트를 선택합니다.
    • 다중 구성 프로젝트 빌드를 선택하여 여러 다른 빌드 구성에서 실행되는 프로젝트를 생성합니다. 다양한 빌드 구성(여러 로케일, 여러 Android API 레벨 등)으로 앱을 빌드하려는 경우 다중 구성 프로젝트가 최선의 선택입니다.
  4. 저장 을 클릭합니다.

프로젝트가 생성되면 웹 브라우저에 프로젝트의 기본 페이지가 표시됩니다.

버전 제어 및 Gradle 빌드 단계 추가

이 섹션에서는 Jenkins를 GitHub와 같은 수정 제어 시스템과 통합하는 방법과 Gradle 빌드 단계를 추가하여 소스 코드에서 APK 패키지를 빌드하는 방법을 설명합니다.

GitHub 및 기타 버전 제어 시스템과 통합

GitHub 또는 다른 개정 제어 시스템을 사용하여 앱의 소스 코드를 관리하는 경우 앱 업데이트가 체크인될 때마다 자동화된 빌드를 실행하고 테스트를 실행하도록 Jenkins를 구성할 수 있습니다. 빌드를 주기적으로 실행하도록 Jenkins를 구성할 수도 있습니다.

Jenkins에서 빌드 구성에 대해 알아보려면 자동 빌드 구성을 참조하십시오.

APK 패키지를 다시 빌드하기 위한 Gradle 빌드 단계 추가

버전 제어 시스템을 사용하여 앱의 소스 코드를 관리하는 경우 Jenkins가 버전 제어 시스템에서 소스 코드를 다운로드할 때마다 새 APK 바이너리를 생성하는 Gradle 빌드 단계를 포함해야 합니다.

  1. 애플리케이션의 기본 디렉터리에서 다음 명령을 실행하는 빌드 단계를 추가합니다.

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Test Lab으로 테스트할 때 Gradle에서 생성한 APK 패키지를 사용하는 빌드 단계를 추가합니다. 아래 제공된 셸 스크립트 예시에서 이 경로를 <local_server_path> 로 사용할 수 있습니다. 여기서 <AppFolder> 는 앱의 Android Studio 프로젝트 폴더입니다.

    <AppFolder>/app/build/outputs/apk
    

Jenkins에 Test Lab 빌드 단계 추가

이제 gcloud 명령줄을 사용하여 Test Lab을 실행하기 위해 Jenkins에 빌드 단계를 추가할 준비가 되었습니다.

gcloud 빌드 단계를 추가하려면

  1. 프로젝트의 기본 페이지에서 구성 을 클릭합니다.
  2. 프로젝트 구성 페이지에서 빌드 섹션까지 아래로 스크롤한 다음 빌드 단계 추가 메뉴에서 셸 실행을 선택합니다.

  3. Jenkins Execute shell 명령 창에서 서버의 샘플 앱 경로를 <local_server_path> 로, 앱의 APK를 <app_apk> 로, 앱의 테스트 APK를 <app_test_apk> 로 대체하여 다음을 입력합니다.

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

테스트 결과 분석

Test Lab에서 앱 테스트를 완료하면 Firebase 콘솔 또는 프로젝트의 Google Cloud Storage 버킷에서 테스트 결과를 검토할 수 있습니다. 위에 표시된 셸 명령에 gsutil 명령을 추가하여 테스트 결과 데이터를 로컬 컴퓨터에 복사할 수도 있습니다. 자세히 알아보려면 Firebase Test Lab 결과 분석을 참조하세요.

다른 CI 시스템과의 지속적인 통합

다른 CI 시스템과 함께 Firebase Test Lab을 사용하는 방법을 알아보려면 해당 문서를 확인하세요.