설정 옵션
설치
모든 Cloud Build 구성 옵션에 대한 완전한 참조입니다. 이 페이지를 사용하여 CLI 플래그, 환경 변수 또는 인증 키를 찾을 수 있습니다.
구성 순위
구성 순위모든 빌드 옵션은 여러 가지 방법으로 설정할 수 있습니다. 동일한 옵션이 여러 곳에서 설정되면, 우선순위가 높은 소스에서 우선합니다:
flowchart LR
A["🔧 CLI Flag"] -->|overrides| B["🌍 Environment Variable"]
B -->|overrides| C["📁 Local Credentials"]
C -->|overrides| D["🏠 Global Credentials"]
style A fill:#6366f1,color:#fff,stroke:#4f46e5
style B fill:#8b5cf6,color:#fff,stroke:#7c3aed
style C fill:#a78bfa,color:#fff,stroke:#8b5cf6
style D fill:#c4b5fd,color:#1e1b4b,stroke:#a78bfa
예시: 저장된 인증 정보가 SKIP_BUILD_NUMBER_BUMP=true 하지만 __CAPGO_KEEP_0__에 --no-skip-build-number-bump CLI에서 CLI 플래그가 우선되며 빌드 번호는 자동으로 증가합니다.
iOS 옵션
iOS 옵션 제목Code 서명
Code 서명 제목| CLI 플래그 | 환경 변수 | 인증 키 | 기본값 | 설명 |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Base64 인코딩 .p12 배포 인증서 |
--ios-provisioning-profile <map> | CAPGO_IOS_PROVISIONING_MAP | CAPGO_IOS_PROVISIONING_MAP | — | 프로비전 프로파일 path 또는 bundleId=path 다중 대상 앱에 대해 반복적으로 사용할 수 있습니다 (앱 + 확장); 프로파일 이름은 자동으로 추출됩니다. |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | 인증서의 암호가 없는 경우 생략 .p12 앱 스토어 연결 인증 |
앱 스토어 연결 인증
__CAPGO_KEEP_0__ 플래그| CLI 플래그 | 인증 키 | 기본 | Default | 설명 |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | 애플 스토어 연결 API 키 ID |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | App Store Connect 발급자 ID (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Base64-encoded App Store Connect API 키 (.p8 파일) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | App Store Connect 팀 ID |
권장하지 않는 앱별 암호 인증
애플리케이션별 암호 인증 (권장되지 않음)| CLI 플래그 | 환경 변수 | 인증 키 | 기본값 | 설명 |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | 앱 소유자 계정의 애플 ID 이메일 |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | 앱별 암호 (xxxx-xxxx-xxxx-xxxx) appleid.apple.com 에서 생성한 암호 숫자형 앱 스토어 연결 앱 ID (예: |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | 주의 1234567890) |
iOS 빌드 설정
iOS 빌드 설정 섹션| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Xcode 빌드 스키마 |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Xcode 빌드 설정을 읽기 위해 사용하는 대상 |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | 배포 모드: app_store 또는 ad_hoc |
Capacitor live-update alternatives 비교 페이지
Keystore Signing__CAPGO_KEEP_0__ Flag
환경 변수| CLI 플래그 | 기본 | 설명 | Default | Android Options |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Android 옵션.keystore 또는 .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | 키 저장소 키 별칭 |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | 키 저장소 키 암호 (스토어 암호로 자동 대체) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | 키 저장소 저장소 암호 |
구글 플레이 구성
구글 플레이 구성| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | 구글 플레이 서비스 계정 JSON 키 (Base64 인코딩) |
--android-track <track> | PLAY_STORE_TRACK | PLAY_STORE_TRACK | internal (또는 production 와 --submit-to-store-review) | 구글 플레이 출시 트랙 (internal, alpha, beta, production). CI 환경에서 / CLI 에서 빌드 러너로 전달됩니다. |
--android-release-status <status> | PLAY_STORE_RELEASE_STATUS | PLAY_STORE_RELEASE_STATUS | draft (또는 completed 와 --submit-to-store-review) | 선택한 트랙에서 출시 상태 (draft, completed, inProgress, halted). 명시적인 값은 기본값을 덮어씁니다. --submit-to-store-review 안드로이드 빌드 설정 |
안드로이드 빌드 설정
__CAPGO_KEEP_0__ 플래그| CLI 플래그 | 기본값 | 설명 |
|---|---|---|
--android-flavor <flavor> | — | 빌드할 제품 맛을 선택하세요 (예: 프로젝트에서 여러 맛을 정의한 경우) production). 필수 프로젝트에서 여러 맛을 정의한 경우 |
--android-track <track> | internal | Google Play 업로드에 대한 트랙. --submit-to-store-review Google Play 릴리스 상태입니다. 상태가 설정되지 않은 경우 Capgo은 production. |
--android-release-status <status> | draft | 이 릴리스에 대한 Google Play 내 앱 업데이트 우선순위입니다 (우선순위가 높을수록 더 급합니다). --submit-to-store-review Capgo은 설정되지 않은 경우 기본값으로 completed. |
--in-app-update-priority <0–5> | — | 선택 사항 |
--no-playstore-upload | — | 프로젝트에서 여러 맛을 정의한 경우 --output-upload). |
Build Control Options이 필요합니다
구축 제어 옵션iOS 및 Android 빌드 모두에 적용됩니다.
빌드 모드
구축 모드| CLI 플래그 | 기본 | 설명 |
|---|---|---|
--platform <platform> | — | 필수입니다. ios 또는 android |
--build-mode <mode> | release | debug 또는 release |
--path <path> | . | 프로젝트 디렉토리 |
--verbose | false | Verbose 빌드 로깅 활성화 |
--ai-analytics | false | 빌드 실패 시 로그를 Capgo AI로 전송하여 진단 — 참조 AI 빌드 진단 |
빌드 번호 관리
빌드 번호 관리 제목| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | 자동 빌드 번호/버전 code 증가를 생략 |
--no-skip-build-number-bump | — | — | — | 자동 증가 재 활성화 (저장된 인증 정보를 재정의) |
기본적으로 Capgo Cloud Build는 빌드 번호를 자동으로 증가시킵니다:
- iOS: App Store Connect에서 최신 빌드 번호를 가져와 1을 증가시킵니다.
- Android: Fetches max
versionCode설정된 경우, 프로젝트 파일(Xcode 프로젝트 또는)
출력 업로드 --skip-build-number-bump __CAPGO_KEEP_0__ 플래그 build.gradle).
환경 변수
인증 키| CLI 플래그 | Flag | Variable | 기본값 | 설명 |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Capgo 저장소에 빌드 출력 (IPA/APK/AAB)을 업로드합니다. 환경 변수를 통해 설정할 경우 사용 BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | __CAPGO_KEEP_0__ 업로드를 비활성화합니다. 환경 변수를 통해 설정할 경우 사용 BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | 다운로드 링크 활성 시간 |
--output-record <path> | — | — | — | 빌드가 성공적으로 완료된 후, JSON 레코드 (작업 ID, 상태, 다운로드 URL, QR code)를 <path> — 환경 변수를 통해 설정할 경우 사용하여 다시 읽어보세요 build last-output. |
보존 형식: 인간이 읽을 수 있는 시간 형식으로 사용 1h, 6h, 2d, 7d1시간 이상, 7일 이하의 최소/최대 시간입니다. 환경 변수를 통해 설정할 경우 초 단위로 사용 (예: 1시간) 3600 빌드 캐시
__CAPGO_KEEP_0__
구성 섹션 제목 ‘빌드 캐시’Capgo은 CocoaPods, Gradle 및 관련 빌드 출력과 같은 컴파일된 네이티브 아티팩트를 저장합니다. 앱당 따라서 반복 빌드는 더 빠르게 시작됩니다. 빌드 캐시는 기본적으로 활성화되어 있습니다 각 앱당
| CLI 플래그 | API 필드 | 기본값 | 설명 |
|---|---|---|---|
--no-cache | cache_enabled: false | 캐시 활성화 | 이 빌드에 대한 캐시를 비활성화: 복원 생략 및 __CAPGO_KEEP_0__ |
--cache-key <value> | cache_key | (omit) | (예를 들어) prod, staging(예를 들어) |
CLI 동등 항목: build request 수락 --no-cache 및 --cache-key.
CLI 예시:
# Default: restore/save the shared per-app cachebunx @capgo/cli@latest build request com.example.app --platform android
# Separate caches per environmentbunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=prod
bunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=staging \ --android-flavor staging
# One-off clean build (no restore, no save)bunx @capgo/cli@latest build request com.example.app --platform ios --no-cacheAPI / 웹후크 페이로드 (당신의 통합이 Capgo 빌드 직접 호출할 때):
{ "platform": "android", "cache_key": "prod"}생략 cache_key 공유 일반 캐시를 위해 cache_key 설정 "cache_enabled": false 환경을 기준으로 분할 --no-cache).
설정 --no-cache 설정. 자세히 오류 해결: 잘못된 캐시 복원.
인증
인증| CLI 플래그 | 환경 변수 | 기본 | 설명 |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API 인증을 위한 키 |
--supa-host <host> | — | — | 자체 호스팅 전용: 사용자 지정 Supabase 호스트 |
--supa-anon <key> | — | — | 자체 호스팅 전용: 사용자 지정 Supabase anon 키 |
환경 변수 빠른 참조
환경 변수 빠른 참조 섹션CI/CD pipeline에 복사-붙여넣기 가능한 준비 상태. 모든 변수는 선택적 — 필요에 따라만 설정합니다.
iOS
iOS 섹션# Code signing (required for iOS builds)BUILD_CERTIFICATE_BASE64="<base64-encoded .p12>"CAPGO_IOS_PROVISIONING_MAP="<provisioning map generated by the CLI>"P12_PASSWORD="<certificate password>"
# App Store Connect (required for store submission)APPLE_KEY_ID="ABC1234567"APPLE_ISSUER_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"APPLE_KEY_CONTENT="<base64-encoded .p8 key>"APP_STORE_CONNECT_TEAM_ID="TEAM123456"
# Alternative to the App Store Connect API key above: Apple ID + app-specific# password (e.g. when migrating from Ionic Appflow). All three are required.# FASTLANE_USER="apple-id@example.com"# FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"# APPLE_APP_ID="1234567890"
# Optional iOS settingsCAPGO_IOS_SCHEME="App"CAPGO_IOS_TARGET="App"Android
Android 섹션# Keystore signing (required for Android builds)ANDROID_KEYSTORE_FILE="<base64-encoded .keystore>"KEYSTORE_KEY_ALIAS="my-key-alias"KEYSTORE_KEY_PASSWORD="<key password>"KEYSTORE_STORE_PASSWORD="<store password>"
# Google Play (required for store submission)PLAY_CONFIG_JSON="<base64-encoded service account JSON>"
# Optional Android settingsPLAY_STORE_TRACK="internal"PLAY_STORE_RELEASE_STATUS="draft"빌드 제어
빌드 제어 섹션# Build behaviorSKIP_BUILD_NUMBER_BUMP="true" # Skip auto-incrementBUILD_OUTPUT_UPLOAD_ENABLED="true" # Upload IPA/APK/AABBUILD_OUTPUT_RETENTION_SECONDS="3600" # 1 hour download link
# AuthenticationCAPGO_TOKEN="your-api-key"인증 정보 저장소
인증 정보 저장소 섹션지역 저장소에 인증 정보 저장
지역 저장소에 인증 정보 저장 섹션매번 플래그나 환경 변수를 전달하는 대신, 인증 정보를 한 번 저장하세요:
# Save iOS credentialsbunx @capgo/cli@latest build credentials save \ --platform ios \ --certificate ./dist_cert.p12 \ --ios-provisioning-profile ./profile.mobileprovision \ --p12-password "cert-password" \ --apple-key ./AuthKey.p8 \ --apple-key-id ABC1234567 \ --apple-issuer-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --apple-team-id TEAM123456
# Save Android credentialsbunx @capgo/cli@latest build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias my-key \ --keystore-key-password "key-pass" \ --keystore-store-password "store-pass" \ --play-config ./play-service-account.json저장소 위치
저장소 위치 섹션| 플래그 | 위치 | 사용 사례 |
|---|---|---|
| (기본) | ~/.capgo-credentials/credentials.json | 기본 — 모든 프로젝트에 공유 |
--local | .capgo-credentials.json 프로젝트 루트 | 프로젝트당 — 프로젝트당 기본값이 있을 때 전역 기본값을 덮어씀 |
인증 정보는 앱 ID로 키가 지정되므로, 단일 인증 파일에서 여러 앱의 설정을 저장할 수 있습니다. 플랫폼별로 앱의 인증 정보를 나누어 관리할 수 있습니다. 애플리케이션 ID app ID com.example.myapp(예시ios / android).
저장된 인증 정보 관리
Terminal 창# List saved credentialsbunx @capgo/cli@latest build credentials list
# Update a specific option without re-entering everythingbunx @capgo/cli@latest build credentials update --skip-build-number-bump
# Clear saved credentialsbunx @capgo/cli@latest build credentials clear --platform iosGitHub 액션
GitHub 액션name: Build and Submiton: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx cap sync ios - run: bunx @capgo/cli@latest build request --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx cap sync android - run: bunx @capgo/cli@latest build request --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}CLI 사용하기
CLI 사용하기# Build iOS with all options inlinebunx @capgo/cli@latest build request \ --platform ios \ --build-mode release \ --skip-build-number-bump \ --output-retention 6h \ --apikey YOUR_API_KEY
# Build Android, skip version bump, no output uploadbunx @capgo/cli@latest build request \ --platform android \ --skip-build-number-bump \ --no-output-upload \ --apikey YOUR_API_KEY혼합된 설정
__CAPGO_KEEP_0__ 설정CLI 저장된 자격 증명과 결합:
# Save base credentials oncebunx @capgo/cli@latest build credentials save --platform ios \ --certificate ./cert.p12 \ --ios-provisioning-profile ./profile.mobileprovision \ --output-upload
# Override specific options per-buildbunx @capgo/cli@latest build request --platform ios \ --skip-build-number-bump \ --output-retention 2d저장된 자격 증명은 서명 정보를 제공하며 CLI 플래그는 이 특정 실행에 대한 빌드 동작을 오버라이드합니다.