๐น ๋น๋
์ด ํ๋ฌ๊ทธ์ธ์ ์ค์น ๋จ๊ณ์ ์ ์ฒด ๋งํฌ๋ค์ด ๊ฐ์ด๋๋ฅผ ํฌํจํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๋ณต์ฌํ์ธ์.
๐๏ธ Capgo Cloud๋ฅผ ํตํด ๋ค์ดํฐ๋ธ iOS/Android ๋น๋๋ฅผ ๊ด๋ฆฌํ์ธ์.
๋น๋ ์ ๊ทผ ๋ฐ ์ถ๋ ฅ
โ๋น๋ ์ ๊ทผ ๋ฐ ์ถ๋ ฅโ ์ ๋ชฉ์ ์น์ ๋ค์ดํฐ๋ธ ํด๋ผ์ฐ๋ ๋น๋ ์์ฒญ์ ํ์ฌ ์ ํ๋ ๋ฒ ํ ์ํ์ด๋ฉฐ ์ ๊ทผ์ด ์ ํ๋์ด ์์ต๋๋ค. ๋น๋ ์๊ฒฉ ์ฆ๋ช ์ Capgo ์๋ฒ์ ์ ์ฅ๋์ง ์์ต๋๋ค: ๋น๋๋ง ์ฌ์ฉํ๊ณ ์ญ์ ๋ฉ๋๋ค. ๋น๋ ์ถ๋ ฅ์ ์ต์ ์ผ๋ก ์๊ฐ ์ ํ๋ ๋ค์ด๋ก๋ ๋งํฌ์ ํจ๊ป ์ ๋ก๋ํ ์ ์์ต๋๋ค.
์๊ฒฉ ์ฆ๋ช ์ ์ ์ฅํ์ธ์
โ์๊ฒฉ ์ฆ๋ช ์ ์ ์ฅํ์ธ์โ ์ ๋ชฉ์ ์น์ npx @capgo/cli build credentials save --appId YOUR_APP_ID --platform iosnpx @capgo/cli build credentials save --appId YOUR_APP_ID --platform androidCI์์ ์ถ๋ ฅ URL ์บก์ฒ
CI์์ ์ถ๋ ฅ URL ์บก์ฒ์ง์ --output-record ๋ค์ด๋ก๋ URL ๋ฐ QR ์ฝ๋ code๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฉํ๋ ค๋ฉด build last-output ์ฝ๊ธฐ:
npx @capgo/cli build request APP_ID --platform android --output-upload --output-record /tmp/build.jsonnpx @capgo/cli build last-output --path /tmp/build.json --field outputUrl๐น ํ์ํ ํญ๋ชฉ
ํ์ํ ํญ๋ชฉnpx @capgo/cli@latest build needed๐งญ native ๋น๋๊ฐ ํ์ํ๋ฉด "yes"๋ฅผ ์ถ๋ ฅํ๊ณ code 1๋ก ์ข ๋ฃ; ๊ทธ๋ ์ง ์์ผ๋ฉด "no"๋ฅผ ์ถ๋ ฅํ๊ณ code 0์ผ๋ก ์ข ๋ฃ. ๋ช ๋ น์ด ์คํจ๋ code 2๋ก ์ข ๋ฃ.
์์:
npx @capgo/cli@latest build needed com.example.app --channel production --verbose์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| -a | string | API ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ ์ ์ฐ๊ฒฐ |
| -c | string | Capacitor ์ ๋ฐ์ดํฐ์ ๊ธฐ๋ณธ ์ฑ๋ ๋๋ ๊ณต๊ณต ๊ธฐ๋ณธ ์ฑ๋์ ๊ธฐ์ค์ผ๋ก ํ๋ ์ฑ๋ |
| โpackage-json | string | ๋ชจ๋ ธ๋ ํฌ์ package.json ํ์ผ ๊ฒฝ๋ก (์ผํ๋ก ๊ตฌ๋ถ) |
| โnode-modules | string | ๋ชจ๋ ธ๋ ํฌ์ node_modules ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก (์ผํ๋ก ๊ตฌ๋ถ) |
| โverbose | boolean | ์ธ๋ถ ๋ก๊น ๊ณผ ํจ๊ป ์์ธํ ์ถ๋ ฅ์ ํ์ฑํํฉ๋๋ค. |
| โsupa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| โsupa-anon | string | ์์ฒด ํธ์คํ ์ ์ํด ์ฌ์ฉํ๋ ์ปค์คํ Supabase anon ํค |
๐ ์ด๊ธฐํ
Section titled โ ๐ InitโAlias: onboarding
npx @capgo/cli@latest build initiOS: ์ธ์ฆ์ + ํ๋กํ์ผ ์๋ํ; Android: ํค์คํ ์ด + Google OAuth GCP ์๋น์ค ๊ณ์ ๋ฐ Play Console ์ด๋
Options:
| Param | Type | ์ค๋ช |
|---|---|---|
| -a | string | API ๊ณ์ ์ ์ฐ๊ฒฐํ๋ ํค |
| -p | string | ํ๋ซํผ์ ์ ํํ์ธ์ (ios ๋๋ android). ๋ง์ฝ ํ๋์ ๋ค์ดํฐ๋ธ ํด๋๋ง ์กด์ฌํ๋ฉด ์๋์ผ๋ก ๊ฐ์งํ์ง๋ง, ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒๆ็คบํฉ๋๋ค. |
| โsupa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| โno-analytics | boolean | ์ด ๋น๋์์ ๋น๋ ์จ๋ณด๋ฉ ๋ถ์ ๋ฐ ํฐ๋ฏธ๋ ์ฌ์์ ๋นํ์ฑํํฉ๋๋ค. |
๐น ์์ฒญ
ํฐ๋ฏธ๋ ์ฐฝnpx @capgo/cli@latest build requestRequest a native build from Capgo Cloud. This command will zip your project directory and upload it to Capgo for building. The build will be processed and sent directly to app stores. Credentials are never stored on Capgo servers; they are deleted after the build. Save them before requesting a build:
npx @capgo/cli build credentials save --appId APP_ID --platform ios์์:
npx @capgo/cli@latest build request com.example.app --platform ios --path .์ต์ :
| ํ๋ผ๋ฏธํฐ | ํ์ | ์ค๋ช |
|---|---|---|
| โpath | string | ํ๋ก์ ํธ ๋น๋์ ์ฌ์ฉํ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก (๊ธฐ๋ณธ๊ฐ: ํ์ฌ ๋๋ ํ ๋ฆฌ) |
| โnode-modules | string | ๋ชจ๋ ธ๋ ํฌ์ node_modules ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก (์ผํ๋ก ๊ตฌ๋ถ) |
| โplatform | string | ํ๋ซํผ: ios ๋๋ android (ํ์) |
| โbuild-mode | string | ๋น๋ ๋ชจ๋: debug ๋๋ release (๊ธฐ๋ณธ๊ฐ: release) |
| โbuild-certificate-base64 | string | iOS: Base64๋ก ์ธ์ฝ๋ฉ๋ .p12 ์ธ์ฆ์ |
| โp12-password | string | iOS: ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ (์ธ์ฆ์์ ๋น๋ฐ๋ฒํธ๊ฐ ์์ผ๋ฉด ์ ํ ์ฌํญ) |
| โapple-id | string | iOS: ์ฑ ์คํ ์ด ์ฐ๊ฒฐ API ํค ๋์ ์ฑ ์คํ ์ด ์ฐ๊ฒฐ ์ด๋ฉ์ผ |
| โapple-app-specific-password | string | iOS: ํ ์คํธ ํ๋ผ์ดํธ ์ ๋ก๋๋ฅผ ์ํ ์ฑ ์คํ ์ด ์ฐ๊ฒฐ ์ฑ ์คํ ์ด ๋น๋ฐ๋ฒํธ (xxxx-xxxx-xxxx-xxxx) |
| โapple-app-id | string | iOS: ์ซ์ App Store Connect ์ฑ ID (โapple-id ๋ฐ โapple-app-specific-password์ ํจ๊ป ํ์) |
| โapple-key-id | string | iOS: App Store Connect API ํค ID |
| โapple-issuer-id | string | iOS: App Store Connect ๋ฐ๊ธ์ ID |
| โapple-key-content | string | iOS: Base64 ์ธ์ฝ๋ฉ App Store Connect API ํค (.p8) |
| โapp-store-connect-team-id | string | iOS: App Store Connect ํ ID |
| โios-scheme | string | iOS: Xcode scheme์ ๋น๋ํ๊ธฐ ์ํ (๊ธฐ๋ณธ: App) |
| โios-target | string | iOS: Xcode target for reading build settings (default: same as scheme) |
| โios-distribution | string | iOS: ๋ฐฐํฌ ๋ชจ๋ |
| โios-provisioning-profile | string | iOS: ์ธ์ฆ์ ํ๋กํ์ผ ๊ฒฝ๋ก ๋๋ bundleId=path mapping (๋ฐ๋ณต ๊ฐ๋ฅ) |
| โandroid-keystore-file | string | ์๋๋ก์ด๋: Base64 ์ธ์ฝ๋ฉ ํค์คํ ์ด ํ์ผ |
| โkeystore-key-alias | string | ์๋๋ก์ด๋: ํค์คํ ์ด ํค ๋ณ์นญ |
| โkeystore-key-password | string | ์๋๋ก์ด๋: ํค์คํ ์ด ํค ๋น๋ฐ๋ฒํธ |
| โkeystore-store-password | string | ์๋๋ก์ด๋: Keystore ์ ์ฅ์ ์ํธ |
| โplay-config-json | string | ์๋๋ก์ด๋: Google Play ์๋น์ค ๊ณ์ JSON (Base64 ์ธ์ฝ๋ฉ) |
| โandroid-flavor | string | ์๋๋ก์ด๋: ๋น๋ํ ์ ํ ๋ง์ง (์: ํ๋ก๋์ ). ํ๋ก์ ํธ๊ฐ ์ฌ๋ฌ ๋ง์ง์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ํ์์ ๋๋ค. |
| โandroid-track | string | ์๋๋ก์ด๋: ์ ๋ก๋ํ Google Play ํธ๋ (๋ด๋ถ, ์ํ, ๋ฒ ํ, ํ๋ก๋์ ). โsubmit-to-store-review ์ต์ ์์ด ๊ธฐ๋ณธ๊ฐ์ ๋ด๋ถ์ ๋๋ค. โsubmit-to-store-review ์ต์ ๊ณผ ํธ๋์ ์ค์ ํ์ง ์์ผ๋ฉด ํ๋ก๋์ ์ ๋๋ค. ์ฐ์ ์์: CLI > ํ๊ฒฝ ๋ณ์ > ์ ์ฅ๋ ์๊ฒฉ์ฆ๋ช |
| โandroid-release-status | string | ์๋๋ก์ด๋: Google Play ๋ฆด๋ฆฌ์ค ์ํ (draft, completed, inProgress, halted). โsubmit-to-store-review ์ต์ ์์ด ๊ธฐ๋ณธ๊ฐ์ draft์ ๋๋ค. โsubmit-to-store-review ์ต์ ๊ณผ ์ํ๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด completed์ ๋๋ค. ์ฐ์ ์์: CLI > ํ๊ฒฝ ๋ณ์ > ์ ์ฅ๋ ์๊ฒฉ์ฆ๋ช |
| โin-app-update-priority | string | ์๋๋ก์ด๋: Google Play ๋ด ์ฑ ์ ๋ฐ์ดํธ ์ฐ์ ์์ (0-5 ์ฌ์ด์ ์ ์; ๋ ๋์์๋ก ๋ ๊ธํฉ๋๋ค). ์์ธํ ๋ด์ฉ์ https://developer.android.com/guide/playcore/in-app-updates. ์ฐ์ ์์: CLI > env > ์ ์ฅ๋ ์ธ์ฆ ์ ๋ณด |
| โplaystore ์ ๋ก๋๋ฅผ ์๋ตํฉ๋๋ค | boolean | ์ด ๋น๋์ ๋ํ ํ๋ ์ด ์คํ ์ด ์ ๋ก๋๋ฅผ ์๋ตํฉ๋๋ค (์ ์ฅ๋ ํ๋ ์ด ๊ตฌ์ฑ์ด null์ด ๋ฉ๋๋ค). โoutput-upload๊ฐ ํ์ํฉ๋๋ค. |
| โ์คํ ์ด ๋ฆฌ๋ทฐ ์ ์ถ | boolean | ์ ๋ก๋ ํ ์คํ ์ด ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฆฌ๋ทฐ ์ ์ถ ๋์ ๋๋ํํธ/๋นํ์ฑํ ๋น๋๋ก ๋จ๊น๋๋ค. ์๋๋ก์ด๋์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก๋์ ํธ๋์ ์๋ฃ๋ ๋ฆด๋ฆฌ์ค ์ํ (โandroid-track / PLAY_STORE_TRACK ๋ฐ โandroid-release-status / PLAY_STORE_RELEASE_STATUS๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ์ฌ) ์ฌ์ฉํฉ๋๋ค. iOS์์๋ ์ฒ๋ฆฌ๋ ํ ์คํธ ํ๋ผ์ดํธ ๋น๋๋ฅผ ์ฑ ์คํ ์ด ๋ฆฌ๋ทฐ์ ์ ์ถํฉ๋๋ค. |
| โ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ด๋ฆ | string | ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ด๋ฆ/๋ฒ์ ๋ ์ด๋ธ์ ๋๋ค. ์๋๋ก์ด๋์์๋ ์ด ์ด๋ฆ์ ๊ตฌ๊ธ ํ๋ ์ด ๋ฒ์ ์ด๋ฆ์ผ๋ก ์ ์กํ๊ณ iOS์์๋ ์ฑ ์คํ ์ด ๋ฒ์ ์ ๋ง๋ค๊ฑฐ๋ ํธ์งํ ๋ ์ฌ์ฉํฉ๋๋ค. |
| โ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ค๋ช | string | ๊ธฐ๋ณธ ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ค๋ช ์ ๋๋ค. ์๋๋ก์ด๋์์๋ ์ด ์ค๋ช ์ ํ๋ ์ด ๋ณ๊ฒฝ ๋ก๊ทธ๋ก ์ฌ์ฉํ๊ณ iOS์์๋ ํธ์ง ๊ฐ๋ฅํ ๋ฒ์ ์ ๋ง๋ค๊ฑฐ๋ ํธ์งํ ๋ ๊ธฐ๋ณธ ์ฑ ์คํ ์ด '๋ฌด์์ด ์๋ก์ด๊ฐ' ํ ์คํธ๋ก ์ฌ์ฉํฉ๋๋ค. |
| โ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ค๋ช ์ง์ญ | string | ์ง์ญํ๋ ์คํ ์ด ๋ฆด๋ฆฌ์ค ์ค๋ช (๋ฐ๋ณต ๊ฐ๋ฅ), ์๋ฅผ ๋ค์ด โstore-release-notes-locale en-US=โ๋ฒ๊ทธ ์์ โ โstore-release-notes-locale fr-FR=โ์์ โ. |
| โiOS ํ ์คํธ ํ๋ผ์ดํธ ๊ทธ๋ฃน | string | iOS: optional comma-separated TestFlight external group names or IDs for external beta distribution. |
| โios-์๋ ๋ฐฐํฌ | boolean | iOS: Apple ์น์ธ ํ App Store ๋ฒ์ ์ ์๋์ผ๋ก ์ถ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์๋ ์ถ์์ ๋๋ค. |
| โno-ios-์๋ ๋ฐฐํฌ | boolean | iOS: Apple ์น์ธ ํ App Store ๋ฒ์ ์ ์๋์ผ๋ก ์ถ์ํฉ๋๋ค. |
| โ์ถ๋ ฅ ์ ๋ก๋ | boolean | ์ด ๋น๋๋ง์ ์ํ ์ถ๋ ฅ ์ ๋ก๋ ๋์์ ๊ฐ์ ๋ก ํ์ฑํํฉ๋๋ค. ์ฐ์ ์์: CLI > ํ๊ฒฝ๋ณ์ > ์ ์ฅ๋ ์ธ์ฆ์ |
| โ์ถ๋ ฅ ์ ๋ก๋ ๋นํ์ฑํ | boolean | ์ด ๋น๋๋ง์ ์ํ ์ถ๋ ฅ ์ ๋ก๋ ๋์์ ๊ฐ์ ๋ก ๋นํ์ฑํํฉ๋๋ค. ์ฐ์ ์์: CLI > ํ๊ฒฝ๋ณ์ > ์ ์ฅ๋ ์ธ์ฆ์ |
| โ์ถ๋ ฅ ๋ณด์กด | string | ์ด ๋น๋๋ง์ ์ํ ์ถ๋ ฅ ๋งํฌ TTL์ ๊ฐ์ ๋ก ์ค์ ํฉ๋๋ค (1์๊ฐ์์ 7์ผ๊น์ง). ์์: 1์๊ฐ, 6์๊ฐ, 2์ผ. ์ฐ์ ์์: CLI > ํ๊ฒฝ๋ณ์ > ์ ์ฅ๋ ์ธ์ฆ์ |
| โ์ถ๋ ฅ ๊ธฐ๋ก | string | ์ฑ๊ณต์ ์ธ ๋น๋ ํ, JSON ๋ ์ฝ๋ (jobId, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt)๋ฅผ ๊ฒฝ๋ก์ ๊ธฐ๋กํฉ๋๋ค. PNG QR code๋ ํด๋น ๊ฒฝ๋ก์ ๋ถ์ด์๋ ์์์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค. .qr.png ํ๋๋ฅผ ๋ค์ ์ฝ๊ธฐ ์ํด build last-output. |
| โno-cache | boolean | ๋น๋ ์บ์ ๋ณต์ ์๋ต ์ด ๋น๋์ ์๋ก์ด ์บ์ ํญ๋ชฉ์ ์ ์ฅํ์ง ๋ง์ญ์์ค. ๋น๋ ์บ์๋ ์ฑ๋น ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. โcache-key |
| ํ๊ฒฝ, branch ๋๋ Android flavor (์์) | string | โno-skip-build-number-bump prod, staging์ด ๋น๋์๋ง ์๋ ๋น๋ ๋ฒํธ ์ฆ๊ฐ๋ฅผ ์ฌ ํ์ฑํํ๊ธฐ ์ํด ์ ์ฅ๋ ์๊ฒฉ ์ฆ๋ช
์ ์ฌ ์ ์ํฉ๋๋ค. |
| โskip-marketing-version-bump | boolean | ๊ทธ๋ฆฌ๊ณ |
| ์ด ๋น๋์ ์๋ก์ด ์บ์ ํญ๋ชฉ์ ์ ์ฅํ์ง ๋ง์ญ์์ค. ๋น๋ ์บ์๋ ์ฑ๋น ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. | boolean | ์๋ ๋ง์ผํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์๋ตํฉ๋๋ค (CFBundleShortVersionString / versionName). |
| โsync-ios-version | boolean | iOS: Xcode MARKETING_VERSION์ package.json์์ ๊ฐ์ ธ์ ํ๋ก์ ํธ๋ฅผ ์ ๋ก๋ํ๊ธฐ ์ ์ ์ ๋ฐ์ดํธํฉ๋๋ค. |
| โai-analytics | boolean | ๋น๋ ์คํจ ์ ๋ก๊ทธ๋ฅผ Capgo AI๋ก ์ ์กํ์ฌ ์ง๋จํฉ๋๋ค. ์ธํฐ๋ํฐ๋ธ ํฐ๋ฏธ๋์์๋ ์ฌ์ ํ์ธ์ ์๋ตํ๊ณ CI์์๋ ์๋ ์ ๋ก๋ ๋ฐ ์๋ฌ์คํธ๋ฆผ์ผ๋ก ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
| โno-prescan | boolean | ์๋ ์ ์ ๋น๋ ์ค์บ์ ์๋ตํฉ๋๋ค. |
| โprescan-ignore-fatal | boolean | ์ ์ ๋น๋ ์ค์บ์ ์คํํ์ง๋ง ๋น๋๋ฅผ ์ฐจ๋จํ์ง ์์ต๋๋ค (๋ณด๊ณ ์๋ง) |
| โprescan-skip | string | ํน์ ์ ์ ๋น๋ ์ค์บ์ ์๋ตํฉ๋๋ค (id๋ฅผ ๋ฐ๋ณตํ๊ฑฐ๋ ์ผํ๋ก ๊ตฌ๋ถ). ๋ค๋ฅธ ์ค์บ์ ์ฌ์ ํ ์คํ๋ฉ๋๋ค. |
| โprescan-warn | string | ํน์ prescan ์ฒดํฌ๋ฅผ warning์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ ํ์ธ์ (๋ฐ๋ณต ๋๋ ์ผํ๋ก ๊ตฌ๋ถ). ์ฒดํฌ๋ ์ฌ์ ํ ์คํ๋ฉ๋๋ค. |
| โfail-on-warnings | boolean | prescan ๊ฒฝ๊ณ ๋ฅผ ์น๋ช ์ ์ธ ๊ฒ์ผ๋ก ์ฒ๋ฆฌ |
| โsend-logs-to-support | boolean | CI/CD ๋น๋ ์คํจ ์ ์๋์ผ๋ก ๋น๋ ๋ก๊ทธ๋ฅผ Capgo ์ง์์ ์ ๋ก๋ํฉ๋๋ค (์ด๋ฉ์ผ์ด ํ์ํ์ง ์์ต๋๋ค). Capgo ์ง์์ ์ด๋ฉ์ผ๋ก ์ฐ๋ฝ์ ์ทจํ ๊ฒ์ ๋๋ค. โai-analytics์ ์ถ๊ฐ์ ์ธ ์ต์ ์ ๋๋ค. |
| โsend-logs | boolean | โsend-logs-to-support์ deprecated alias |
| -a | string | API ๊ณ์ ์ ์ฐ๊ฒฐํ๋ ํค |
| โsupa-host | string | Self-hosting ๋๋ Capgo ๊ฐ๋ฐ์ ์ํ Custom Supabase ํธ์คํธ URL |
| โsupa-anon | string | ์ฌ์ฉ์ ์ ์ Supabase ์ต๋ช ํค (์์ฒด ํธ์คํ ) |
| โverbose | boolean | ์ธ๋ถ ๋ก๊น ์ ํฌํจํ ์์ธํ ์ถ๋ ฅ์ ํ์ฑํํฉ๋๋ค. |
๋น๋ ์บ์: Capgo์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๋น compiled native artifacts (CocoaPods, Gradle ๋ฐ ๊ด๋ จ ์ถ๋ ฅ)๋ฅผ ์ ์ฅํ๊ณ ๋ณต์ํฉ๋๋ค. ์ฌ์ฉ --cache-key ์บ์๋ฅผ ์ ์งํ๊ณ ํ๋ก๋์
์บ์์ RC ์บ์๋ฅผ ๋ถ๋ฆฌํ๋ ค๋ฉด ์ฌ์ฉํ์ธ์. __CAPGO_KEEP_0__ ํตํฉ์ --no-cache for a one-off clean build. API integrations can pass cache_key ์ ์ฌ์ฉํ์ฌ ํ ๋ฒ๋ง ๋น๋ํ ๋ ์บ์๋ฅผ ๊นจ๋ํ๊ฒํฉ๋๋ค. __CAPGO_KEEP_0__ ํตํฉ์ cache_enabled: false ๋๋ ์ ์ฌ์ฉํ์ฌ ์บ์๋ฅผ ๋ณต์ํฉ๋๋ค. ์บ์ ๋ฐ.
๐น iOS ๋ฒ์ ๋๊ธฐํ
iOS ๋ฒ์ ๋๊ธฐํnpx @capgo/cli@latest build sync-ios-versionpackage.json์์ MARKETING_VERSION์ ๊ฐ์ ธ์ iOS Xcode์ ๋ก์ปฌ ๋ฒ์ ์ ๋๊ธฐํํฉ๋๋ค.
์์:
npx @capgo/cli@latest build sync-ios-version --path .์ต์ :
| ํ๋ผ๋ฏธํฐ | ํ์ | ์ค๋ช |
|---|---|---|
| โ๊ฒฝ๋ก | string | ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก (๊ธฐ๋ณธ๊ฐ: ํ์ฌ ๋๋ ํ ๋ฆฌ) |
| โ์ฒดํฌ | boolean | ์ฒดํฌ๋ง; MARKETING_VERSION์ด ๋๊ธฐํ๋์ง ์์ ๊ฒฝ์ฐ 0์ด ์๋ ๊ฐ์ ๋ฐํ |
๐น ์ด๊ธฐ ์ค์บ
ํฐ๋ฏธ๋ ์ฐฝnpx @capgo/cli@latest build prescan์๊ฒฉ ์ฆ๋ช
(๋ง๋ฃ, ์ํธ, ํ๋กํ pair๋ง), ํ๋ก์ ํธ ์ํ(cap sync, node_modules ๋ ์ด์์), ํ๋ซํผ ๊ตฌ์ฑ ํ์ธ. build request; ์ด ๋ช
๋ น์ด๋ CI์์ ์คํํ ๋ ์๋์ผ๋ก ์คํ๋์ง๋ง standalone๋ก ์คํํ ์ ์์ต๋๋ค. ์ด๊ธฐ ์ค์บ ํ์ธ ์ฒดํฌ ์นดํ๋ก๊ทธ ์ ์ฒด๋ฅผ ํ์ธํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ --skip / --warn ๊ฐ๋ณ ๊ท์น.
์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| โํ๋ซํผ | string | ๋ชฉํ ํ๋ซํผ: ios ๋๋ android (ํ์) |
| โ๊ฒฝ๋ก | string | ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก (๊ธฐ๋ณธ: ํ์ฌ ๋๋ ํ ๋ฆฌ) |
| -a | string | API ๊ณ์ ์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ํค |
| โ์๋๋ก์ด๋ ํ๋๋ฒ | string | ์๋๋ก์ด๋: ์ ํ ํ๋๋ฒ๋ฅผ ์ฌ์ฉํ ๋น๋ |
| โios-dist | string | iOS: ๋ฐฐํฌ ๋ชจ๋๋ฅผ ์ ํจ์ฑ ๊ฒ์ฌ์ ์ฌ์ฉ |
| โjson | boolean | ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ JSON ๋ณด๊ณ ์๋ฅผ ์ถ๋ ฅ |
| โfail-on-warnings | boolean | ๊ฒฝ๊ณ ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด 0์ด ์๋ ๊ฐ์ ๋ฐํ (CI) |
| โignore-fatal | boolean | ๋๋ฒ๊ทธ ๋ชจ๋: ํญ์ 0์ ๋ฐํํ๊ณ ๋ชจ๋ ๊ฒ์ ๋ณด๊ณ |
| โskip | string | ํน์ ์ฒดํฌ๋ฅผ ์๋ต (๋ฐ๋ณต ๋๋ ์ผํ๋ก ๊ตฌ๋ถ) |
| โwarn | string | ํน์ ์ฒดํฌ๋ฅผ ๊ฒฝ๊ณ ๋ก ๋ด๋ฆฌ๊ธฐ (๋ฐ๋ณต ๋๋ ์ผํ๋ก ๊ตฌ๋ถ๋ id) |
| โverbose | boolean | ์์ธ ๋ก๊น ์ ํฌํจํ ์์ธํ ์ถ๋ ฅ์ ํ์ฑํํฉ๋๋ค. |
| โsupa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| โsupa-anon | string | ์์ฒด ํธ์คํ ์ ์ํ ์ปค์คํ Supabase anon ํค |
๐น ๋ง์ง๋ง ์ถ๋ ฅ
ํฐ๋ฏธ๋ ์ฐฝnpx @capgo/cli@latest build last-output__CAPGO_KEEP_0__ build request --output-record.
๊ธฐ๋ณธ์ ์ผ๋ก JSON ์ ์ฒด๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋ โfield ์ต์
์ผ๋ก ๋จ์ผ field๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋, โqr ์ต์
์ผ๋ก ASCII QR code์ ์ถ๋ ฅํฉ๋๋ค. CI์์ ๋ค์ด๋ก๋ URL ๋๋ QR๋ฅผ PR ๋๋ ์ด์์ ๋ค์ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์:
npx @capgo/cli build last-output โpath /tmp/build.json
npx @capgo/cli build last-output โpath /tmp/build.json โfield outputUrl
npx @capgo/cli build last-output โpath /tmp/build.json โqr
Options:
| Param | Type | ์ค๋ช |
|---|---|---|
| โpath | string | JSON ๊ธฐ๋ก์ โoutput-record ์ต์ ์ผ๋ก ๊ธฐ๋กํ JSON ํ์ผ์ ๊ฒฝ๋ก (ํ์) |
| โfield | string | ๋จ์ผ field๋ฅผ ์ถ๋ ฅ (๋ค์ ์ค ํ๋: jobId, appId, platform, buildMode, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt, schemaVersion) |
| โqr | boolean | ASCII QR code์ ์ถ๋ ฅ (โfield qrCodeAscii์ ๋์ผํ ๋จ์ถ์ด) |
๐น Credentials
๐น ์ธ์ฆ ์ ๋ณด์ปดํจํฐ์ ์ ์ฅ๋ ๋น๋ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ๐ ๋ณด์:
- ์ธ์ฆ ์ ๋ณด๋ ~/.capgo-credentials/credentials.json (์ ์ญ) ๋๋ .capgo-credentials.json (์ง์ญ)์ ์ ์ฅ๋ฉ๋๋ค.
- ๋น๋ ์ Capgo๋ก ์ ์ก๋์ง๋ง ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์์ต๋๋ค.
- ๋น๋ ํ Capgo์์ ์ฆ์ ์ญ์ ๋ฉ๋๋ค.
- ๋น๋ ์ถ๋ ฅ๋ฌผ์ ์ต์ ์ผ๋ก ์๊ฐ ์ ํ๋ ๋ค์ด๋ก๋ ๋งํฌ๋ก ์ ๋ก๋ํ ์ ์์ต๋๋ค. ๐ ๋ฌธ์: iOS ์ค์ : https://capgo.app/docs/cli/cloud-build/ios/ Android ์ค์ : https://capgo.app/docs/cli/cloud-build/android/
๐น Apple-key
๐น Apple-key๋ณ๋ช
: asc-key
npx @capgo/cli@latest build credentials apple-keyApp Store Connect ํ API ํค๋ฅผ macOS ๊ฐ์ด๋ ๋์ฐ๋ฏธ (macOS๋ง)๋ก ์์ฑํ์ธ์. App Store Connect UI ๋ด๋ถ ๋ธ๋ผ์ฐ์ ์ Apple์ UI๋ฅผ ๋ด์ฅํ๊ณ , Issuer ID + Key ID๋ฅผ ์๋์ผ๋ก ์บก์ฒํ๊ณ , .p8๋ฅผ ํ ๋ฒ๋ง ์ฌ์ฉํ๊ณ , Apple๊ณผ ์ ํจ์ฑ์ ๊ฒ์ฌํ๊ณ , ~/.appstoreconnect/private_keys์ ์ ์ฅํฉ๋๋ค. progress statistics๋ Capgo ๋ถ์ (CAPGO_DISABLE_TELEMETRY๋ก ๋นํ์ฑํ)๋ก ์ ๋ฌ๋ฉ๋๋ค. npx @capgo/cli build credentials apple-key โappId com.example.app
์์:
Example:์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| -a | string | API ํค๋ฅผ ๊ณ์ ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค |
| โ์ฑ ์์ด๋ | string | ์ด ์ฑ iOS ๋น๋ ์ธ์ฆ์์ ์บก์ฒ๋ ํค๋ฅผ ์ ์ฅํ์ธ์ |
| โ๋ก์ปฌ | boolean | ์ ์ญ ํ์ผ ๋์ ํ๋ก์ ํธ๋ณ .capgo-credentials.json์ ์ ์ฅํ์ธ์ |
| โJSON | boolean | ์บก์ฒ๋ Key ID / Issuer ID / .p8 ๊ฒฝ๋ก๋ฅผ JSON ํ์์ผ๋ก ์ถ๋ ฅํ์ธ์ |
๐น ์ ์ฅ
์ ์ฅnpx @capgo/cli@latest build credentials saveiOS ๋๋ Android ๋น๋ ์ธ์ฆ์๋ฅผ ๋ก์ปฌ๋ก ์ ์ฅํ์ธ์. ์ธ์ฆ์๋ ๋ค์ ์์น์ ์ ์ฅ๋ฉ๋๋ค:
- ~/.capgo-credentials/credentials.json (๊ธฐ๋ณธ, ์ ์ญ)
- capgo-์ธ์ฆ์.json ํ์ผ์ ํ๋ก์ ํธ ๋ฃจํธ์ ์ ์ฅ (โlocal ํ๋๊ทธ์ ํจ๊ป)
โ ๏ธ ๋น๋ํ๊ธฐ ์ ์ ๋ฐ๋์ ์ธ์ฆ์๋ฅผ ์ ์ฅํด์ผ ํฉ๋๋ค.
๐ ์ด ์ธ์ฆ์๋ Capgo ์๋ฒ์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์์ต๋๋ค.
์ด ์ธ์ฆ์๋ ๋น๋๊ฐ ์๋ฃ๋๋ฉด ์ฆ์ ์ญ์ ๋ฉ๋๋ค.
๐ ์ค์ ๊ฐ์ด๋:
iOS: https://capgo.app/docs/cli/cloud-build/ios/
์๋๋ก์ด๋: https://capgo.app/docs/cli/cloud-build/android/
npx @capgo/cli build credentials save โplatform ios
โ์ธ์ฆ์ ./cert.p12 โp12 ์ํธ โpasswordโ
โiOS ๋ฐฐํฌ ํ๋กํ์ผ ./profile.mobileprovision
โapple ํค ./AuthKey.p8 โapple ํค ID โKEY123โ
โapple-issuer-id โissuer-uuidโ โapple-team-id โteam-idโ Multi-target Example (app + widget extension): npx @capgo/cli build credentials save โplatform ios
๋ฉํฐ ํ๊ฒ ์์ (์ฑ + ์์ ฏ ํ์ฅ):
npx @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__ build credentials save โplatform ios
โiOS ๋ฐฐํฌ ํ๋กํ์ผ ./App.mobileprovision โiOS ๋ฐฐํฌ ํ๋กํ์ผ com.example.widget=./Widget.mobileprovision โฆ npx @capgo/cli build credentials save โplatform android
โkeystore ./release.keystore โkeystore-alias โmy-keyโ
โkeystore-key-password โkey-passโ
โplay-config ./service-account.json Local storage (per-project): npx @capgo/cli build credentials save โlocal โplatform ios โฆ
Example:
iOS Example:Options:
| Param | Type | Description |
|---|---|---|
| โappId | string | ์ฑ ID (์: com.example.app) (ํ์) |
| โํ๋ซํผ | string | ํ๋ซํผ: ios ๋๋ android (ํ์) |
| โ์ธ์ฆ์ | string | iOS: .p12 ์ธ์ฆ์ ํ์ผ ๊ฒฝ๋ก |
| โios-๋ฐฐํฌ-ํ๋กํ์ผ | string | iOS: ๋ฐฐํฌ ํ๋กํ์ผ ๊ฒฝ๋ก ๋๋ bundleId=path (๋ฐ๋ณต ๊ฐ๋ฅ) |
| โp12-๋น๋ฐ๋ฒํธ | string | iOS: ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ (์ธ์ฆ์์ ๋น๋ฐ๋ฒํธ๊ฐ ์์ผ๋ฉด ์ ํ ์ฌํญ) |
| โ์ ํ-ํค | string | iOS: App Store Connect API ํค ๊ฒฝ๋ก |
| โ์ ํ-ํค-์์ด๋ | string | iOS: App Store Connect API ํค ID |
| __CAPGO_KEEP_0__ | string | iOS: App Store Connect ๋ฐ๊ธ์ ID |
| __CAPGO_KEEP_0__ | string | iOS: App Store Connect ํ ID |
| iOS: ๋ฐฐํฌ ๋ชจ๋ | string | iOS: ์ ํ ID ์ด๋ฉ์ผ (App Store Connect __CAPGO_KEEP_0__ ํค ๋์) |
| iOS: ํ ์คํธ ํ๋ผ์ดํธ ์ ๋ก๋๋ฅผ ์ํ ์ฑ ํน์ ๋น๋ฐ๋ฒํธ (xxxx-xxxx-xxxx-xxxx) | string | iOS: Apple ID email for app-specific password uploads (alternative to App Store Connect API key) |
| __CAPGO_KEEP_0__ | string | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | string | __CAPGO_KEEP_0__ |
| โkeystore | string | ์๋๋ก์ด๋: Keystore ํ์ผ ๊ฒฝ๋ก (.keystore ๋๋ .jks) |
| โkeystore-alias | string | ์๋๋ก์ด๋: Keystore ํค ๋ณ์นญ |
| โkeystore-key-password | string | ์๋๋ก์ด๋: Keystore ํค ๋น๋ฐ๋ฒํธ |
| โkeystore-store-password | string | ์๋๋ก์ด๋: Keystore ์ ์ฅ์ ๋น๋ฐ๋ฒํธ |
| โplay-config | string | ์๋๋ก์ด๋: Play Store ์๋น์ค ๊ณ์ JSON ํ์ผ ๊ฒฝ๋ก |
| โandroid-flavor | string | ์๋๋ก์ด๋: ๋น๋ํ ์ ํ ๋ง์ง (์: ํ๋ก๋์ ). ํ๋ก์ ํธ์ ์ฌ๋ฌ ๋ง์ง์ด ์๋ ๊ฒฝ์ฐ ํ์ |
| โin-app-update-priority | string | Android: Google Play in-app update ์ฐ์ ์์ (์ ์ 0โ5; ๋ ๋์์๋ก ๋ ๊ธํฉ๋๋ค). ์๋ตํ๋ฉด Play์ ๊ธฐ์กด ๊ฐ์ด ์ ์ง๋ฉ๋๋ค. |
| โlocal | boolean | ํ๋ก์ ํธ ๋ฃจํธ์ .capgo-credentials.json์ ์ ์ฅํ๊ธฐ ๋์ ๊ธ๋ก๋ฒ ~/.capgo-credentials/์ ์ ์ฅํฉ๋๋ค. |
| โoutput-upload | boolean | ๋น๋ ์ถ๋ ฅ๋ฌผ (IPA/APK/AAB)์ Capgo ์ ์ฅ์์ ์ ๋ก๋ํ๊ณ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
| โno-output-upload | boolean | ๋น๋ ์ถ๋ ฅ๋ฌผ (IPA/APK/AAB)์ Capgo ์ ์ฅ์์ ์ ๋ก๋ํ์ง ์์ต๋๋ค. |
| โoutput-retention | string | ์ถ๋ ฅ ๋งํฌ TTL: 1์๊ฐ์์ 7์ผ (๊ธฐ๋ณธ: 1์๊ฐ). ์์: 1์๊ฐ, 6์๊ฐ, 2์ผ |
| โskip-build-number-bump | boolean | ๋ฏธ๋ ๋น๋์์ ์๋ ๋น๋ ๋ฒํธ/๋ฒ์ code ์ฆ๊ฐ๋ฅผ ์๋ตํฉ๋๋ค. |
| โno-skip-build-number-bump | boolean | ์๋ ๋น๋ ๋ฒํธ ์ฆ๊ฐ๋ฅผ ์ฌ ํ์ฑํ (๊ธฐ๋ณธ ๋์) |
| โskip-marketing-version-bump | boolean | ์ฑ์ด ์ด๋ฏธ ์ถ์๋ ๊ฒฝ์ฐ ๋ฏธ๋ ๋น๋์์ ์๋ ๋ง์ผํ ๋ฒ์ ์ฆ๊ฐ๋ฅผ ๊ฑด๋๋ฐ๊ธฐ |
| โno-skip-marketing-version-bump | boolean | ์๋ ๋ง์ผํ ๋ฒ์ ์ฆ๊ฐ๋ฅผ ์ฌ ํ์ฑํ (๊ธฐ๋ณธ ๋์) |
๐ ๋ชฉ๋ก
๋ชฉ๋ก ์ ๋ชฉnpx @capgo/cli@latest build credentials list์ ์ฅ๋ ๋น๋ ์๊ฒฉ ์ฆ๋ช ๋ชฉ๋ก (๋น๋ฐ๋ฒํธ๊ฐ ๊ฐ๋ ค์ง). ํ์ฌ ์ ์ฅ๋ ์๊ฒฉ ์ฆ๋ช (์ ์ญ ๋ฐ ์ง์ญ ๋ชจ๋)์ ๋ณด์ฌ์ค๋๋ค. ์์: npx @capgo/cli build credentials list # ๋ชจ๋ ์ฑ ๋ชฉ๋ก npx @capgo/cli build credentials list โappId com.example.app # ํน์ ์ฑ ๋ชฉ๋ก
์ต์ :
| ํ๋ผ๋ฏธํฐ | ํ์ | ์ค๋ช |
|---|---|---|
| โappId | string | ์ฑ ID๋ฅผ ๋ชฉ๋ก์ ์ถ๊ฐ (์ ํ ์ฌํญ, ์๋ต ์ ๋ชจ๋ ์ฑ์ ๋ชฉ๋ก์ ์ถ๊ฐ) |
| โlocal | boolean | ๋ก์ปฌ .capgo-credentials.json ์์๋ง ์ธ์ฆ์๋ฅผ ๋ชฉ๋ก์ ์ถ๊ฐ |
๐น ์ง์ฐ๊ธฐ
์ง์ฐ๊ธฐnpx @capgo/cli@latest build credentials clear์ ์ฅ๋ ๋น๋ ์ธ์ฆ์๋ฅผ ์ง์ฐ์ธ์. ์ ์ฅ์์์ ์ธ์ฆ์๋ฅผ ์ง์ฐ์ธ์. โappId ๋ฐ โplatform๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์ธ์ฆ์๋ฅผ ๋์์ผ๋กํ์ธ์. ์์: npx @capgo/cli build credentials clear # ์ ์ญ์์ ๋ชจ๋ ์ฑ ์ง์ฐ๊ธฐ npx @capgo/cli build credentials clear โlocal # ๋ก์ปฌ ์ธ์ฆ์ ์ง์ฐ๊ธฐ npx @capgo/cli build credentials clear โappId com.example.app โplatform ios
์ต์ :
| ํ๋ผ๋ฏธํฐ | ํ์ | ์ค๋ช |
|---|---|---|
| โappId | string | ํด๋ฆฌ์ดํ ์ฑ ID (์ ํ ์ฌํญ, ์๋ต ์ ๋ชจ๋ ์ฑ์ ํด๋ฆฌ์ด) |
| โplatform | string | ํด๋ฆฌ์ดํ ํ๋ซํผ: ios ๋๋ android (์ ํ ์ฌํญ, ์๋ต ์ ๋ชจ๋ ํ๋ซํผ์ ํด๋ฆฌ์ด) |
| โlocal | boolean | ๋ก์ปฌ capgo-credentials.json ๋์ ๊ธ๋ก๋ฒ์์ ํด๋ฆฌ์ด |
๐น ์ ๋ฐ์ดํธ
์ ๋ฐ์ดํธnpx @capgo/cli@latest build credentials updateํน์ ์ธ์ฆ์๋ง ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ์ง ์์๋ ๋ฉ๋๋ค. ๊ธฐ์กด ์ธ์ฆ์๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ณ๊ฒฝํ๊ณ ์ถ์ ํ๋๋ง ์ ๊ณตํ๋ฉด ๋ฉ๋๋ค. ํ๋ซํผ์ ์ ๊ณตํ๋ ์ต์ ์์ ์๋์ผ๋ก ๊ฐ์ง๋ฉ๋๋ค. ์์: npx @capgo/cli build credentials update โios-provisioning-profile ./new-profile.mobileprovision npx @capgo/cli build credentials update โlocal โkeystore ./new-keystore.jks
์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| โappId | string | ์ฑ ID (์๋์ผ๋ก capacitor.config์์ ๊ฐ์ง๋ฉ๋๋ค. ์๋ต ์) |
| โplatform | string | ํ๋ซํผ: ios ๋๋ android (์ต์ ์์ ์๋์ผ๋ก ๊ฐ์ง๋ฉ๋๋ค) |
| โlocal | boolean | ๊ตญ๋ด capgo-credentials.json์ ์ ๋ฐ์ดํธํ๊ธฐ๋ณด๋ค๋ ์ ์ญ |
| โ์ธ์ฆ์ | string | P12 ์ธ์ฆ์ ํ์ผ ๊ฒฝ๋ก |
| โios-๋ฐฐํฌ ํ๋กํ์ผ | string | ๋ฐฐํฌ ํ๋กํ์ผ ๊ฒฝ๋ก ๋๋ bundleId=path (๋ฐ๋ณต ๊ฐ๋ฅ, ๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๊ฐ) |
| โios-๋ฐฐํฌ ํ๋กํ์ผ ๋งคํ์ ๋ฎ์ด์ฐ๊ธฐ | boolean | ๋์ฒด ๋งคํ ๋์ ๋ณํฉ (๊ธฐ๋ณธ: ๋ณํฉ) |
| โP12 ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ | string | P12 ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ |
| โ์ ํ ํค | string | ์ ํ ์คํ ์ด ์ฐ๊ฒฐ API ํค (.p8 ํ์ผ) ๊ฒฝ๋ก |
| โ์ ํ ํค ID | string | ์ ํ ์คํ ์ด ์ฐ๊ฒฐ API ํค ID |
| โapple-issuer-id | string | ์ ํ ์คํ ์ด ์ฐ๊ฒฐ ๋ฐ๊ธ์ ID |
| โapple-team-id | string | ์ ํ ์คํ ์ด ์ฐ๊ฒฐ ํ ID |
| โapple-id | string | iOS: ์ฑ ์คํ ์ด ์ฐ๊ฒฐ API ํค ๋์ ์ฑ ์คํ ์ด ์ฐ๊ฒฐ ์ด๋ฉ์ผ์ ์ฌ์ฉํ๋ ์ฑ ํน์ ๋น๋ฐ๋ฒํธ ์ ๋ก๋ (๋์) |
| โapple-app-specific-password | string | iOS: ํ ์คํธ ํ๋ผ์ดํธ ์ ๋ก๋๋ฅผ ์ํ ์ฑ ํน์ ๋น๋ฐ๋ฒํธ (xxxx-xxxx-xxxx-xxxx) |
| โapple-app-id | string | iOS: ์ฑ ์คํ ์ด ์ฐ๊ฒฐ ์ฑ ID (์ ํ ID์ ์ฑ ํน์ ๋น๋ฐ๋ฒํธ์ ํจ๊ป ์ฌ์ฉ) |
| โios-distribution | string | iOS: ๋ฐฐํฌ ๋ชจ๋ |
| โkeystore | string | Keystore ํ์ผ ๊ฒฝ๋ก (.keystore ๋๋ .jks) |
| โkeystore-alias | string | Keystore ํค ๋ณ์นญ |
| โkeystore-key-password | string | Keystore ํค ๋น๋ฐ๋ฒํธ |
| โkeystore-store-password | string | Keystore ์ ์ฅ์ ๋น๋ฐ๋ฒํธ |
| โplay-config | string | Google Play ์๋น์ค ๊ณ์ JSON ๊ฒฝ๋ก |
| โandroid-flavor | string | Android: ์ ํ ํ๋๋ฒ๋ฅผ ๋น๋ํ์ญ์์ค (์: ํ๋ก๋์ ). ํ๋ก์ ํธ๊ฐ ์ฌ๋ฌ ํ๋๋ฒ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ํ์์ ๋๋ค. |
| โin-app-update-priority | string | Android: Google Play ๋ด ์ฑ ์ ๋ฐ์ดํธ ์ฐ์ ์์ (0โ5์ ์ ์; ๋ ๋์์๋ก ๋ ๊ธํฉ๋๋ค). |
| โoutput-upload | boolean | Capgo ์ ์ฅ์์ ๋น๋ ์ถ๋ ฅ (IPA/APK/AAB)์ ์ ๋ก๋ํ๊ณ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
| โno-output-upload | boolean | Capgo ์ ์ฅ์์ ๋น๋ ์ถ๋ ฅ (IPA/APK/AAB)์ ์ ๋ก๋ํ์ง ์์ต๋๋ค. |
| โoutput-retention | string | ์ถ๋ ฅ ๋งํฌ TTL: 1์๊ฐ์์ 7์ผ๊น์ง. ์์: 1์๊ฐ, 6์๊ฐ, 2์ผ |
| โskip-build-number-bump | boolean | ์๋ ๋น๋ ๋ฒํธ/๋ฒ์ code ์ฆ๊ฐ๋ฅผ ๋ฏธ๋ฃน๋๋ค. |
| โno-skip-build-number-bump | boolean | ์๋ ๋น๋ ๋ฒํธ ์ฆ๊ฐ๋ฅผ ์ฌ ํ์ฑํ (๊ธฐ๋ณธ ๋์) |
| โ๋ง์ผํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์๋ต | boolean | ์ฑ์ด ์ด๋ฏธ ์ถ์๋ ๊ฒฝ์ฐ ๋ฏธ๋ ๋น๋์์ ์๋ ๋ง์ผํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์๋ต |
| โ๋ง์ผํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์๋ตํ์ง ์๊ธฐ | boolean | ์๋ ๋ง์ผํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์ฌ ํ์ฑํ (๊ธฐ๋ณธ ๋์) |
๐น ๊ด๋ฆฌ
๊ด๋ฆฌ ์ ๋ชฉnpx @capgo/cli@latest build credentials manage์ ์ฅ๋ ๋น๋ ์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ.
์ ์ฅ๋ ์๊ฒฉ ์ฆ๋ช
ๆต่ง, ๊ตฌ์ฑ๋ ํญ๋ชฉ์ ํ์ธ, CI/CD ์ค๋น๋ .env ํ์ผ์ ๋ด๋ณด๋ด๊ฑฐ๋ ํ๋ซํผ์ ์๊ฒฉ ์ฆ๋ช
์ ์ญ์ ํ ์ ์์ต๋๋ค. ๋์ผํ TUI๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. capgo init์์:
npx @capgo/cli build credentials manage
npx @capgo/cli build credentials manage โappId com.example.app
npx @capgo/cli build credentials manage โappId com.example.app โplatform ios
npx @capgo/cli build credentials manage โlocal
์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| โappId | string | ๊ด๋ฆฌํ ์ฑ ID (์ ํ ์ฌํญ, ์๋ต ์ ์ ํํ๋๋ก ์ ๋) |
| โplatform | string | ๊ด๋ฆฌํ ํ๋ซํผ: ios ๋๋ android (์ ํ ์ฌํญ, ์๋ต ์ ์ ํํ๋๋ก ์ ๋) |
| โlocal | boolean | ๋ก์ปฌ capgo-credentials.json๋ง ํ์ |
๐น ์ด๋
โ ๐น ์ด๋โ ์ ๋ชฉnpx @capgo/cli@latest build credentials migrate๊ธฐ์กด์ ๋ค์ค ๋ชฉํ ํ์์ผ๋ก์ ์ ํ ํ๋ก๋น์ ํ๋กํ์ผ์ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค. BUILD_PROVISION_PROFILE_BASE64์ CAPGO_IOS_PROVISIONING_MAP์ผ๋ก ๋ณํํฉ๋๋ค. Xcode ํ๋ก์ ํธ์์ ์๋์ผ๋ก ๋ฉ์ธ ๋ฒ๋ค ID๋ฅผ ๋ฐ๊ฒฌํฉ๋๋ค. npx @capgo/cli build credentials migrate โplatform ios
์์:
Example:์ต์ :
| Param | Type | ์ค๋ช |
|---|---|---|
| โappId | string | ์ฑ ID (์๋์ผ๋ก capacitor.config์์ ์ถ์ถ๋๊ฑฐ๋ ์๋ต ์) |
| โplatform | string | ํ๋ซํผ (iOS๋ง ์ง์) |
| โ๋ก์ปฌ | boolean | ๋ก์ปฌ capgo-credentials.json ๋์ ์ ์ญ์์ ๋ง์ด๊ทธ๋ ์ด์ |