Firebase Test Lab에서 테스트 설정을 CircleCI Orbs로 게시
개요
지난 주 DeployGate에서 APK 배포 설정을 CircleCI Orbs로 게시라는 기사를 썼습니다만, Orbs가 재미있기 때문에 Android어드벤트 캘린더도 Orbs네타로 쓰려고 합니다.
CircleCI에서 Firebase Test Lab에서 테스트를 실행하기 위한 설정은 Testing With Firebase Test Lab 형식으로 공식 문서에 정리되어 있지만, 보다 간단하게 설정을 할 수 있는 것이 편리합니다.
이번에는 CircleCI Orbs로 설정을 게시하여 Firebase Test Lab의 설정을 쉽게 할 수 없는지 시도했습니다.
Orb란?
.circleci/config.yml
에서의 설정 내용을 패키지로서 정리해, 재이용 가능한 형태로 공개할 수 있는 기능입니다. CircleCI 2.1 configuration (2018/12/7 시점에서 미리보기)에서 추가되었습니다. Orb에 대한 자세한 내용은 공식 문서을 참조하십시오.
Orb로 Firebase Test Lab에 대한 설정 내용을 함께 게시하면 Firebase Test Lab의 테스트를 포함한 Workflow를 보다 신속하게 구축할 수 있습니다.
공개된 Orb
Orb registry의 페이지는 이쪽입니다.
htps : // 해 rc ぇ시. 코 m / 오 rbs / 레기 스트리 / 오 rb / 호리에 1024
또, 소스 코드는 이쪽이 됩니다.
htps : // 기주 b. 코 m / 호리에 1024 / 오 rb_
사용법
Enable build processing 사용
CircleCI 2.1 configuration은 2018/12/7 시점에서 미리보기이므로 프로젝트의 Settings->Advanced Settings에서 Enable build processing을 On
로 합니다.
Orb import
.circleci/config.yml
에 다음 설정을 추가하고 Orb를 가져옵니다. version은 2.1
를 지정하십시오.
version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
명령 실행
firebase/test
명령을 사용하여 Firebase Test Lab에서 테스트를 시작합니다.
firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
service_account_key
는 GCP Project 서비스 계정 키1를 base64로 인코딩한 값을 포함하는 환경 변수를 지정합니다. firebase_project_id
는 Firebase 프로젝트의 ID를, type
는 instrumentation
또는 robo
를 지정합니다.
test_settings
에는 다음과 같은 yml을 지정하여 테스트를 실행할 장치를 지정할 수 있습니다.
instrumentation-test:
device:
- model: Nexus5
version: 21
locale: ja_JP
orientation: portrait
- model: mata
version: 25
locale: ja_JP
orientation: portrait
기타 매개변수에 대한 자세한 내용은 Orb 문서를 참조하세요.
최종 config.yml은 다음과 같습니다.
version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
jobs:
build:
docker:
- image: circleci/android:api-28-alpha
steps:
- checkout
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- run:
name: Build debug APK and release APK
command: |
./gradlew :app:assembleDebug
./gradlew :app:assembleDebugAndroidTest
- firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
Android 프로젝트에서의 사용 예
실제로 이번에 공개한 Orb를 사용하여 Firebase Test Lab에서 테스트를 실행해 보았습니다. 샘플 프로젝트는 여기입니다.
테스트 결과 확인
테스트 결과는 Artifacts 탭에서 확인할 수 있으며 테스트 실행 중인 화면의 모습도 쉽게 확인할 수 있습니다.
요약
설정을 Orb로 게시하면 CircleCI에서 Firebase Test Lab에서 더 쉽게 테스트를 실행할 수 있다고 생각합니다.
이번에 공개한 Orb에 부족한 기능이나 결함이 있으면 Pull Request를 잘 부탁드립니다 🙏
서비스 계정을 만들고 환경 변수에 저장하는 방법은 이 기사에 요약되어 있습니다. ↩
Reference
이 문제에 관하여(Firebase Test Lab에서 테스트 설정을 CircleCI Orbs로 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Horie1024/items/0e8a69f459a911084cf2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
.circleci/config.yml
에서의 설정 내용을 패키지로서 정리해, 재이용 가능한 형태로 공개할 수 있는 기능입니다. CircleCI 2.1 configuration (2018/12/7 시점에서 미리보기)에서 추가되었습니다. Orb에 대한 자세한 내용은 공식 문서을 참조하십시오.Orb로 Firebase Test Lab에 대한 설정 내용을 함께 게시하면 Firebase Test Lab의 테스트를 포함한 Workflow를 보다 신속하게 구축할 수 있습니다.
공개된 Orb
Orb registry의 페이지는 이쪽입니다.
htps : // 해 rc ぇ시. 코 m / 오 rbs / 레기 스트리 / 오 rb / 호리에 1024
또, 소스 코드는 이쪽이 됩니다.
htps : // 기주 b. 코 m / 호리에 1024 / 오 rb_
사용법
Enable build processing 사용
CircleCI 2.1 configuration은 2018/12/7 시점에서 미리보기이므로 프로젝트의 Settings->Advanced Settings에서 Enable build processing을 On
로 합니다.
Orb import
.circleci/config.yml
에 다음 설정을 추가하고 Orb를 가져옵니다. version은 2.1
를 지정하십시오.
version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
명령 실행
firebase/test
명령을 사용하여 Firebase Test Lab에서 테스트를 시작합니다.
firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
service_account_key
는 GCP Project 서비스 계정 키1를 base64로 인코딩한 값을 포함하는 환경 변수를 지정합니다. firebase_project_id
는 Firebase 프로젝트의 ID를, type
는 instrumentation
또는 robo
를 지정합니다.
test_settings
에는 다음과 같은 yml을 지정하여 테스트를 실행할 장치를 지정할 수 있습니다.
instrumentation-test:
device:
- model: Nexus5
version: 21
locale: ja_JP
orientation: portrait
- model: mata
version: 25
locale: ja_JP
orientation: portrait
기타 매개변수에 대한 자세한 내용은 Orb 문서를 참조하세요.
최종 config.yml은 다음과 같습니다.
version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
jobs:
build:
docker:
- image: circleci/android:api-28-alpha
steps:
- checkout
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- run:
name: Build debug APK and release APK
command: |
./gradlew :app:assembleDebug
./gradlew :app:assembleDebugAndroidTest
- firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
Android 프로젝트에서의 사용 예
실제로 이번에 공개한 Orb를 사용하여 Firebase Test Lab에서 테스트를 실행해 보았습니다. 샘플 프로젝트는 여기입니다.
테스트 결과 확인
테스트 결과는 Artifacts 탭에서 확인할 수 있으며 테스트 실행 중인 화면의 모습도 쉽게 확인할 수 있습니다.
요약
설정을 Orb로 게시하면 CircleCI에서 Firebase Test Lab에서 더 쉽게 테스트를 실행할 수 있다고 생각합니다.
이번에 공개한 Orb에 부족한 기능이나 결함이 있으면 Pull Request를 잘 부탁드립니다 🙏
서비스 계정을 만들고 환경 변수에 저장하는 방법은 이 기사에 요약되어 있습니다. ↩
Reference
이 문제에 관하여(Firebase Test Lab에서 테스트 설정을 CircleCI Orbs로 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Horie1024/items/0e8a69f459a911084cf2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Enable build processing 사용
CircleCI 2.1 configuration은 2018/12/7 시점에서 미리보기이므로 프로젝트의 Settings->Advanced Settings에서 Enable build processing을
On
로 합니다.Orb import
.circleci/config.yml
에 다음 설정을 추가하고 Orb를 가져옵니다. version은 2.1
를 지정하십시오.version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
명령 실행
firebase/test
명령을 사용하여 Firebase Test Lab에서 테스트를 시작합니다.firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
service_account_key
는 GCP Project 서비스 계정 키1를 base64로 인코딩한 값을 포함하는 환경 변수를 지정합니다. firebase_project_id
는 Firebase 프로젝트의 ID를, type
는 instrumentation
또는 robo
를 지정합니다.test_settings
에는 다음과 같은 yml을 지정하여 테스트를 실행할 장치를 지정할 수 있습니다.instrumentation-test:
device:
- model: Nexus5
version: 21
locale: ja_JP
orientation: portrait
- model: mata
version: 25
locale: ja_JP
orientation: portrait
기타 매개변수에 대한 자세한 내용은 Orb 문서를 참조하세요.
최종 config.yml은 다음과 같습니다.
version: 2.1
orbs:
firebase: horie1024/firebase-test-lab@volatile
jobs:
build:
docker:
- image: circleci/android:api-28-alpha
steps:
- checkout
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- run:
name: Build debug APK and release APK
command: |
./gradlew :app:assembleDebug
./gradlew :app:assembleDebugAndroidTest
- firebase/test:
service_account_key: SERVICE_ACCOUNT_KEY
firebase_project_id: FIREBASE_PROJECT_ID
type: instrumentation
test_settings: test_settings.yml:instrumentation-test
Android 프로젝트에서의 사용 예
실제로 이번에 공개한 Orb를 사용하여 Firebase Test Lab에서 테스트를 실행해 보았습니다. 샘플 프로젝트는 여기입니다.
테스트 결과 확인
테스트 결과는 Artifacts 탭에서 확인할 수 있으며 테스트 실행 중인 화면의 모습도 쉽게 확인할 수 있습니다.
요약
설정을 Orb로 게시하면 CircleCI에서 Firebase Test Lab에서 더 쉽게 테스트를 실행할 수 있다고 생각합니다.
이번에 공개한 Orb에 부족한 기능이나 결함이 있으면 Pull Request를 잘 부탁드립니다 🙏
서비스 계정을 만들고 환경 변수에 저장하는 방법은 이 기사에 요약되어 있습니다. ↩
Reference
이 문제에 관하여(Firebase Test Lab에서 테스트 설정을 CircleCI Orbs로 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Horie1024/items/0e8a69f459a911084cf2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
설정을 Orb로 게시하면 CircleCI에서 Firebase Test Lab에서 더 쉽게 테스트를 실행할 수 있다고 생각합니다.
이번에 공개한 Orb에 부족한 기능이나 결함이 있으면 Pull Request를 잘 부탁드립니다 🙏
서비스 계정을 만들고 환경 변수에 저장하는 방법은 이 기사에 요약되어 있습니다. ↩
Reference
이 문제에 관하여(Firebase Test Lab에서 테스트 설정을 CircleCI Orbs로 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Horie1024/items/0e8a69f459a911084cf2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)