UStackUStack
Tophat icon

Tophat

Tophat은 CI 아티팩트로 모바일 앱을 한 번에 설치하고 테스트하는 도구입니다. 빌드를 공유하고 기기나 시뮬레이터로 연결하며, 커스텀 provider와 툴링으로 워크플로를 확장할 수 있습니다.

Tophat

Tophat이란?

Tophat은 모바일 애플리케이션을 한 번에 설치하고 테스트할 수 있는 도구입니다. CI 아티팩트에서 빌드를 배포하고, 설치 링크를 생성하며, 기여자가 브랜치를 로컬에서 복제하거나 빌드할 필요 없이 기기나 시뮬레이터에서 앱을 실행할 수 있도록 설계되었습니다.

이 프로젝트에는 사용자 지정 빌드 및 캐싱 시스템을 통합하기 위한 확장 및 명령줄 기능도 포함되어 있습니다. Tophat은 install URL, Quick Launch, artifact provider를 통해 iOS와 Android 워크플로를 모두 지원하며, 서로 다른 대상용 여러 아티팩트를 포함할 수 있는 recipe도 제공합니다.

주요 기능

  • CI 아티팩트를 위한 원클릭 설치 링크로, 테스터와 기여자가 로컬 빌드 단계 없이 빌드를 설치할 수 있습니다.
  • artifact provider 기반 다운로드로, Tophat이 내장 provider나 확장을 통해 추가된 provider에서 빌드를 가져올 수 있습니다.
  • URL, Quick Launch, tophatctl 명령줄 인터페이스를 포함한 여러 요청 유형 지원.
  • 하나의 요청에 여러 아티팩트를 묶을 수 있는 recipe로, 시뮬레이터와 실제 기기에 서로 다른 빌드가 필요할 때 유용합니다.
  • 설치 흐름에 사용자 지정 빌드 및 캐싱 시스템을 통합할 수 있는 TophatKit SDK 확장.
  • 즐겨찾는 앱을 위한 Quick Launch 바로가기로, 최신 빌드를 다운로드하고 앱 아이콘을 업데이트한 뒤 선택한 기기에서 앱을 실행할 수 있습니다.
  • 자주 사용하는 기기와 환경별 툴링 경로에 더 빠르게 접근할 수 있도록 하는 기기 고정 및 설정 기반 사용자 지정.
  • iOS와 Android용 전달 방식이 문서화된 launch arguments 지원.

Tophat 사용 방법

일반적인 설정은 Tophat을 빌드 또는 artifact provider와 통합해 다운로드 가능한 앱 빌드를 확인할 수 있게 하는 것에서 시작합니다. 그런 다음 설치 링크나 Quick Launch 항목을 만들거나, tophatctl을 사용해 선택한 기기나 시뮬레이터에 설치를 트리거합니다.

사용자 지정 인프라를 사용하는 팀은 TophatKit SDK와 shell-script provider 옵션을 통해 기존 빌드 및 캐싱 시스템에 맞게 Tophat을 조정할 수 있습니다. 설정이 완료되면 사용자는 설치 링크를 클릭하거나 Tophat에서 앱을 선택해 대상 기기에 빌드를 다운로드, 설치, 실행합니다.

사용 사례

  • QA와 CI 빌드를 공유해 테스터가 링크에서 특정 앱 버전을 바로 설치할 수 있게 함.
  • 외부 기여자가 저장소를 복제하거나 앱을 로컬에서 빌드하지 않고도 pull request를 테스트할 수 있게 함.
  • 릴리스 과정에서 대상별로 서로 다른 아티팩트가 생성될 때, 하나의 요청으로 시뮬레이터와 기기용 빌드를 각각 설치함.
  • 여러 프로젝트나 기기를 오가는 개발자를 위해 자주 사용하는 앱에 빠르게 접근할 수 있게 함.
  • 확장이나 shell-script provider를 통해 Tophat을 내부 사용자 지정 빌드 시스템이나 캐시에 연결함.

FAQ

Tophat은 하나의 artifact source에서만 작동하나요? 아니요. 설명에는 내장 artifact provider와 Tophat Extensions를 통해 설치할 수 있는 추가 provider가 언급되어 있습니다.

Tophat은 기기와 시뮬레이터를 모두 처리할 수 있나요? 네. 문서에 따르면 하나의 요청에 여러 아티팩트를 포함할 수 있으며, Tophat은 선택한 대상에 따라 적절한 항목을 선택할 수 있습니다.

설치된 앱에 launch arguments를 전달할 수 있나요? 네. 설명에는 install URL용 arguments 쿼리 파라미터가 문서화되어 있으며 iOS와 Android에 대한 플랫폼별 처리도 언급됩니다.

통합을 위한 명령줄 옵션이 있나요? 네. 페이지에서는 tophatctl을 언급하며, 사용자가 명령줄에서 artifact provider를 나열할 수 있다고 설명합니다.

Tophat을 유용하게 쓰려면 사용자 지정 툴링이 꼭 필요한가요? 반드시 그렇지는 않습니다. 설명에는 내장 provider와 기본 HTTP 지원이 언급되며, 더 맞춤화된 설정을 위한 확장도 제공됩니다.

대안

  • 직접 빌드 다운로드나 공유 링크를 사용하는 수동 앱 배포: 더 단순하지만, Tophat의 기기 인식 설치 흐름이나 Quick Launch 기능은 제공하지 않습니다.
  • CI artifact 뷰어 및 다운로드 포털: 빌드를 가져오는 데 유용하지만, 일반적으로 기기에 원클릭 설치하기보다 저장과 접근에 더 중점을 둡니다.
  • 모바일 기기 테스트 플랫폼: 빌드 배포를 포함할 수 있는 더 넓은 종단 간 테스트 제품군이지만, 보통 Tophat의 설치 및 실행 워크플로보다 더 많은 범위를 다룹니다.
  • 사용자 지정 스크립트 또는 내부 배포 도구: 특정 파이프라인에는 유연하지만, 일반적으로 표준화된 설치 링크 워크플로보다 유지 관리가 더 많이 필요합니다.
Tophat | UStack