โ ๏ธ ๋จผ์ ์๊ฒฉ ์ฆ๋ช ์ค์
๋น๋ํ๊ธฐ ์ ํ์: iOS/Android ์๊ฒฉ ์ฆ๋ช ์ ๋ก์ปฌ์ ์ ์ฅํ์ธ์.
๐๏ธ ํด๋ผ์ฐ๋์์ ๋ค์ดํฐ๋ธ ๋ชจ๋ฐ์ผ ์ฑ์ ๋น๋ํ๊ณ ์๋์ผ๋ก App Store ๋ฐ Play Store์ ์ ์ถํ์ธ์.
build ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด Capgo์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์์ iOS ๋ฐ Android์ฉ Capacitor ์ฑ์ ๋น๋ํ ์ ์์ต๋๋ค. Expo๊ฐ ๋น๋๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค. ์ฑ์ ์ ์ฉ ์ธํ๋ผ์์ ๋น๋๋๋ฉฐ ์ฑ ์คํ ์ด์ ์๋์ผ๋ก ์ ์ถ๋ ์ ์์ต๋๋ค.
ํ์ฌ ์ํ: ๊ณต๊ฐ ๋ฒ ํ
๋ค์ดํฐ๋ธ ๋ชจ๋ฐ์ผ ์ฑ์ ์ ํต์ ์ผ๋ก ๋น๋ํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค:
Capgo Cloud Build๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ป์ ์ ์์ต๋๋ค:
npx @capgo/cli@latest build com.example.app์ด๊ฒ ์ ๋ถ์ ๋๋ค! ์ฑ์ด ํด๋ผ์ฐ๋์์ ๋น๋๋๊ณ ์ค์๊ฐ ๋ก๊ทธ๊ฐ ํ์๋ฉ๋๋ค.
โ ๏ธ ๋จผ์ ์๊ฒฉ ์ฆ๋ช ์ค์
๋น๋ํ๊ธฐ ์ ํ์: iOS/Android ์๊ฒฉ ์ฆ๋ช ์ ๋ก์ปฌ์ ์ ์ฅํ์ธ์.
์์ํ๊ธฐ
๋ช ๋ถ ์์ ์ฒซ ๋ค์ดํฐ๋ธ ๋น๋๋ฅผ ๋ง๋์ธ์.
iOS ๋น๋
์ธ์ฆ์๋ฅผ ๊ตฌ์ฑํ๊ณ App Store์ฉ์ผ๋ก ๋น๋ํ์ธ์.
Android ๋น๋
ํค์คํ ์ด๋ฅผ ์ค์ ํ๊ณ Play Store์ฉ์ผ๋ก ๋น๋ํ์ธ์.
๋ฌธ์ ํด๊ฒฐ
์ผ๋ฐ์ ์ธ ๋น๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ .
npx @capgo/cli@latest build [appId] [options]์์ชฝ ํ๋ซํผ ๋น๋:
npx @capgo/cli@latest build com.example.appiOS๋ง ๋น๋:
npx @capgo/cli@latest build com.example.app --platform ios๋๋ฒ๊ทธ ๋ชจ๋๋ก Android ๋น๋:
npx @capgo/cli@latest build com.example.app --platform android --build-mode debugํน์ ๋๋ ํ ๋ฆฌ์์ ๋น๋:
npx @capgo/cli@latest build com.example.app --path ./my-app| ์ต์ | ์ ํ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|
appId | string | capacitor.config | ์ ํ๋ฆฌ์ผ์ด์ ID (์: com.example.app) |
--path <path> | string | ํ์ฌ ๋๋ ํ ๋ฆฌ | ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก |
--platform <platform> | string | both | ๋์ ํ๋ซํผ: ios, android ๋๋ both |
--build-mode <mode> | string | release | ๋น๋ ๋ชจ๋: debug ๋๋ release |
--build-config <config> | string | - | JSON ๋ฌธ์์ด๋ก ์ถ๊ฐ ๋น๋ ๊ตฌ์ฑ |
-a, --apikey <apikey> | string | - | API ํค (๋๋ CAPGO_TOKEN ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ) |
--supa-host <url> | string | https://api.capgo.app | ์ปค์คํ Supabase ํธ์คํธ URL |
--supa-anon <key> | string | - | ์ปค์คํ Supabase anon ํค |
sequenceDiagram participant Dev as ๊ฐ๋ฐ์ participant CLI as Capgo CLI participant Cloud as Capgo Cloud participant iOS as Mac Builder participant Android as Android Builder
Dev->>CLI: build com.example.app CLI->>CLI: ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ์์ ์์ถ CLI->>Cloud: R2์ ์
๋ก๋ Cloud->>iOS: Mac ํ๋ก๋น์ ๋ (iOS) Cloud->>Android: ์๋๋ฐ์ค ์์ (Android) iOS-->>CLI: ๋ก๊ทธ ์คํธ๋ฆผ (SSE) Android-->>CLI: ๋ก๊ทธ ์คํธ๋ฆผ (SSE) iOS->>Cloud: ๋น๋ ์๋ฃ Android->>Cloud: ๋น๋ ์๋ฃ Cloud->>iOS: ์ ๋ฆฌ (24์๊ฐ ํ) Cloud->>Android: ์ ๋ฆฌ (์ฆ์) CLI->>Dev: ๋น๋ ์ฑ๊ณตnode_modules, dotfiles ์ ์ธ)Capgo Cloud Build๋ ์๋ก์ด ์ธํ๋ผ๊ฐ ์๋๋๋ค - 3๋ ๋์ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํด ์์ต๋๋ค:
์ด๋์๋ ์๋ํฉ๋๋ค - GitHub Actions, GitLab CI ๋๋ ๋ชจ๋ CI/CD ํ๋ซํผ:
- name: Build native app env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} run: | npm run build npx cap sync npx @capgo/cli@latest build com.example.app \ --platform both \ --build-mode release๋ค์์ด ํ์ ์์ต๋๋ค:
๋น๋ ์๊ฐ์ ์ค์ ์ฌ์ฉ๋์ ๋ฐ๋ผ ์ฒญ๊ตฌ๋ฉ๋๋ค:
์ผ๋ฐ์ ์ธ ๋น์ฉ:
์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถํฉ๋๋ค. ์ต์ ๊ธ์ก์ด๋ ์์์น ๋ชปํ ๋น์ฉ์ด ์์ต๋๋ค.
| ๊ธฐ๋ฅ | Capgo Cloud Build | GitHub Actions (Mac) | Expo EAS |
|---|---|---|---|
| ๋ก์ปฌ Mac ํ์ | โ ์๋์ค | โ ์ | โ ์๋์ค |
| ์ค์ ๋ณต์ก์ฑ | โญ ๋จ์ผ ๋ช ๋ น | โญโญโญ ๋ณต์กํ YAML | โญโญ ๊ตฌ์ฑ ํ์ผ |
| Capacitor ๋ค์ดํฐ๋ธ | โ ์ต์ ํ๋จ | โ ๏ธ ์ผ๋ฐ์ | โ Expo ์ ์ฉ |
| ์ฝ๋ ๊ฐ์ธ์ ๋ณด | โ ์ ์ฅ ์ ํจ | โ ๏ธ ๋ฌ๋์์ | โ ๏ธ ์ ๋ก๋๋จ |
| ๋น์ฉ (iOS) | ๐ฐ 2ร ๊ธฐ๋ณธ | ๐ฐ๐ฐ๐ฐ 10ร ๋น์ | ๐ฐ๐ฐ ํ๋ฆฌ๋ฏธ์ |
์ค์: Capgo๋ ๋ค์ดํฐ๋ธ ๋ถ๋ถ๋ง ๋น๋ํฉ๋๋ค.
โ ์ ํฌ๊ฐ ๋น๋ํ๋ ๊ฒ:
โ ๊ทํ๊ฐ ๋น๋ํ๋ ๊ฒ (๋ก์ปฌ์์):
npm run build)npx cap sync)์ด๋ฌํ ๋ถ๋ฆฌ๋ ๋ค์์ ๋ณด์ฅํฉ๋๋ค:
๊ณต๊ฐ ๋ฒ ํ ๋์์ ํ์ฌ ์ ํ ์ฌํญ:
๋ฒ๊ฑฐ๋ก์ ์์ด ๋น๋ํ ์ค๋น๊ฐ ๋์ จ๋์?
์ฒซ ๋ฒ์งธ ๋น๋ ๋ง๋ค๊ธฐ
์ฒซ ํด๋ผ์ฐ๋ ๋น๋๋ฅผ ์ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋.
๊ณต๊ฐ ๋ฒ ํ ์ฐธ์ฌ
Cloud Build๋ ๊ณต๊ฐ ๋ฒ ํ ์ค์ ๋๋ค. ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌํ์ฌ ์ก์ธ์คํ์ธ์.