# 모바일·태블릿 Phase 1 — Capacitor 확장 (A) ## 스택 결정 | 항목 | 선택 | |------|------| | 단기 경로 | **1단계 A — Capacitor 확장** (`app/`) | | 장기(선택) | 2단계 B — Tauri Mobile 이전 (미착수) | | Android 패드 | 동일 APK (반응형 UI) | | iPad | TestFlight 링크 (ipa 직접 다운로드·앱 내 updater 불가) | Phase 1 목표: 데스크톱과 동일한 **git push → CI 빌드 → 다운로드 허브** 흐름을 Android에 맞추고, PC 프로그램 탭에서 Android·iPad를 함께 제공한다. ## 파이프라인 ``` git push main → post-receive (deploy.sh) → trigger-mobile-jenkins-build.sh → jenkins-mobile-pipeline.sh → build-mobile-apk.sh → data/mobile-releases/goldenchart-android.apk → GC_MOBILE_APP_VERSION (.env) ``` ## 다운로드 UI **PC 프로그램** 탭 (`AppDownloadModal`): - macOS (.dmg) — 기존 - Windows (.exe) — 기존 - Android 패드/폰 (.apk) — `/api/mobile-app/info` - iPad (TestFlight) — `GC_MOBILE_APP_IOS_TESTFLIGHT_URL` 링크 ## Android 앱 내 업데이트 - 시작 시 `/api/mobile-app/info` 버전 vs `@capacitor/app` `version` - 새 버전이면 APK 다운로드 URL 열기 (재설치) ## iPad / TestFlight 1. Mac + Xcode + Apple Developer Program 2. `cd app && npm run cap:sync && npx cap open ios` 3. Archive → TestFlight 업로드 4. 서버 `.env`: `GC_MOBILE_APP_IOS_TESTFLIGHT_URL=https://testflight.apple.com/join/...` ## Jenkins 설치 (서버 1회) ```bash ./scripts/server-install-mobile-jenkins.sh # .env 예시 # GC_MOBILE_JENKINS_TRIGGER_TOKEN=goldenchart-mobile-build ``` ## 환경 변수 | 변수 | 설명 | |------|------| | `GC_MOBILE_APP_VERSION` | 웹·API 표시 버전 | | `GC_MOBILE_APP_IOS_TESTFLIGHT_URL` | iPad TestFlight 초대 URL | | `GC_MOBILE_JENKINS_*` | Jenkins mobile job (desktop과 동일 패턴) |