모든 PR을 실제 기기에서 검토하세요
각 pull request에 대한 전용 Capgo 채널을 생성하세요. 팀원들과 링크를 공유하여 기기에서 정확한 변경 사항을 테스트할 수 있습니다 - 앱 재설치, TestFlight, 기다리기 없이.
문제
TestFlight 및 Google Beta는 속도에 장애를 일으킵니다
TestFlight 테스트 워크플로
개발자는 PR을 열었습니다
Code이 검토 대기 상태입니다. 그러나 누구도 테스트할 수 없기 때문에 TestFlight에 업로드하고 빌드해야 합니다.
업로드 및 배포
앱을 로컬 또는 CI에서 빌드하고 압축합니다. App Store Connect에 업로드하고 처리를 기다립니다. 15-30분 이상 소요됩니다.
테스터에게 배포
테스터가 이미 TestFlight에 있지 않다면 테스터를 추가하고 초대합니다. 그들이 수락할 때까지 기다립니다. 설치 방법을 설명합니다.
잘못된 빌드를 테스트
테스터가 빌드를 다운로드합니다. 개발자가 수정을 푸시합니다. 이제 모든 사람들은 2-3 단계를 반복하여 업데이트된 빌드를 받을 수 있습니다.
PR 하나당 테스터 하나당 업데이트 하나당 45-60분 소요됩니다.
느린 테스트의 숨겨진 비용
15-30분
TestFlight 처리 시간
테스터가 액세스할 수 있도록 하기 위해 Apple이 빌드를 처리해야 하는데, 이건 빌드당, 매번 발생합니다.
67%
QA 시간의 대다수가 기다리는 시간에 소비됩니다.
QA 엔지니어들은 빌드가 완료될 때까지 기다리는 데 67%의 시간을 보냈으며 실제 테스트를 하는 데는 시간을 할애하지 못했습니다. 이는 하루에 5시간 이상의 생산성 손실입니다.
$340/PR
Pull Request에 대한 숨겨진 비용
개발자 대기 시간, QA 차단 시간 및 지연된 피드백을 고려할 때, 각 PR은 평균 $340의 생산성 손실을 초래합니다.
해결책
60초 이내에 모든 PR을 테스트하세요
Create a Capgo channel for each PR. Testers switch channels in seconds. No app reinstalls. No waiting.
CI는 앱을 자동으로 빌드하고 PR 번호에 따라 이름이 지정된 __CAPGO_KEEP_0__ 채널을 생성합니다.
CI automatically builds the app and creates a Capgo channel named after the PR number.
배포 업로드
빌드된 배포는 __CAPGO_KEEP_0__에 배경에서 업로드됩니다. 처리 지연이 없습니다.
The built bundle uploads to Capgo in the background. No processing delay.
< 30 seconds
채널 전환
테스터는 앱을 열고 PR 채널로 전환하여 즉시 빌드를 받습니다.
< 10 seconds
테스트 및 승인
QA는 실제 장치에서 테스트합니다. 개발자는 수정 사항을 푸시합니다. 테스터는 즉시 업데이트를 받으며 재설치가 필요하지 않습니다.
즉시 반복
name: PR Preview
on:
pull_request:
types: [opened, synchronize]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup & Build
run: |
npm ci
npm run build
# Create a channel named after your PR
- name: Create PR Channel
run: npx @capgo/cli channel add pr-$${{ github.event.pull_request.number }}
# Upload the build to that channel
- name: Upload to Capgo
run: npx @capgo/cli bundle upload --channel pr-$${{ github.event.pull_request.number }}
# Post a comment with the test link
- name: Comment on PR
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: $${{ github.event.pull_request.number }},
body: '📱 **Test this PR on device:**\\n\\nOpen your app and switch to channel: `pr-$${{ github.event.pull_request.number }}`'
}) 설정은 5분이 걸립니다. 이 워크플로를 복사하고 CI에 적합하게 조정하세요.
테스터가 PR 빌드를 전환하는 방법
Zero Shake 메뉴 (.Code)
내장된 흔들기 제스처를 활성화하세요. 테스터는 장치를 흔들면 모든 채널이 표시되는 메뉴를 열 수 있습니다.
// capacitor.config.ts
CapacitorUpdater: {
shakeMenu: true // Enable for testing
} __CAPGO_KEEP_0__
앱 내 Switcher를 위한 사용자 정의 UI를 구축하세요. 개발자 설정 화면에 적합합니다.
// Switch channel from your app
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123'
}) 실제 세계 영향
TechFlow가 리뷰 주기를 4배로 가속화했습니다.
TechFlow
B2B SaaS - 팀 협업 앱
TechFlow의 모바일 팀은 주당 15-20개의 PR을 배포했습니다. 각 PR은 QA에 의해 병합되기 전에 테스트해야했습니다. TestFlight을 사용한 QA 리드의 추정에 따르면, QA 팀은 60%의 시간을 빌드 대기 대신 테스트에 사용했습니다.
실제로 고통스러운 것은 크러시 주간이었습니다. 여러 PR이 동시에 테스트해야 할 때, QA 팀은 다른 TestFlight 빌드를 지속적으로 설치해야했습니다. 테스터들은 실행 중인 버전에 대해 혼란스러웠습니다. 버그는 이미 고쳐진 code에 보고되었습니다.
Capgo PR Preview를 구현한 후, QA 팀은 몇 초 만에 어떤 PR도switch할 수있었습니다. 재설치가 필요하지 않았습니다. 혼란도 없었고 기다리지도 않았습니다. 평균 병합 시간은 2.3일에서 0.6일로 떨어졌습니다.
결과 (1분기)
"우리 QA 팀은 항상 좌절감에 빠져 있었지만 이제 정말 행복합니다. 테스트를 즐기기 시작했습니다. 왜냐하면 기다리지 않기 때문입니다. 우리는 스프린트당 두 배의 기능을 배포합니다."
— TechFlow의 엔지니어링 매니저 Lisa Wong
팀의 모든 역할을 위한 빌드
PR Preview는 모바일 개발에 참여하는 팀의 모든 구성원이 협력하는 방식을 완전히 바꿉니다.
QA 엔지니어
- 장치에서 몇 초만에 PR 테스트
- PR 간에 즉시switch하여 동작 비교
- 빌드에 대한 혼란이 더 이상 없습니다.
프로젝트 관리자
- 배송되기 전에 기능을 검토하세요
- 기술 설정이 필요하지 않습니다 - 단지 링크를 클릭하세요
- PR에 직접 feedback를 제공하세요
개발자
- 컨텍스트 Switching이 발생하기 전에 QA feedback를 받으세요
- 수정 사항을 푸시하고 테스터가 즉시 받으세요
- 더 이상 '빌드 기다리기' 블록킹이 없습니다
TestFlight vs Capgo PR Preview
TestFlight / 베타
Capgo PR Preview
팀 유형별 솔루션
맞춤 솔루션을 찾으세요