설정 옵션
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
CLI 옵션을 위한 모든 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 on the CLI, the CLI flag wins and build numbers will be auto-incremented.
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 | — | __CAPGO_KEEP_0__ 플래그 .p12 앱 스토어 연결 인증 |
앱 스토어 연결 인증
인증서 비밀번호| CLI Flag | 설명 | 환경 변수 | 인증 키 | 기본 |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | App Store Connect API Key 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 key (.p8 파일) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | App Store Connect 팀 ID |
앱별 암호 인증 (권장되지 않음) - 섹션 제목입니다.
앱별 암호 인증 (권장되지 않음)| CLI Flag | 환경 변수 | 인증 키 | 기본값 | 설명 |
|---|---|---|---|---|
--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 |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | 숫자 앱 스토어 연결 앱 ID (예 1234567890) |
iOS 빌드 설정
iOS 빌드 설정| CLI Flag | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--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 |
Android 옵션
Android 옵션Keystore 인증
Keystore 인증| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Base64로 인코딩된 Keystore 파일 (.keystore 또는 .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Keystore key alias |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Keystore key password (falls back to store password if not set) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Keystore store password |
Google Play 설정
Google Play 설정| CLI Flag | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Base64-encoded Google Play service account JSON key |
| (env only) | PLAY_STORE_TRACK | — | internal | 구글 플레이 출시 트랙 (internal, alpha, beta, production) |
| (env만) | PLAY_STORE_RELEASE_STATUS | — | draft | 선택한 트랙에서 출시 상태 (draft, completed, inProgress, halted) |
안드로이드 빌드 설정
안드로이드 빌드 설정| CLI 플래그 | 기본 | 설명 |
|---|---|---|
--android-flavor <flavor> | — | 빌드할 제품 플래버 (예: production). 필수 프로젝트에 여러 플래버가 정의되어 있다면. |
--in-app-update-priority <0–5> | — | 구글 플레이 내 앱 업데이트 우선순위 (더 높을수록 더 급합니다). |
--no-playstore-upload | — | Build 및 Play Store 업로드를 생략하여 빌드하고 서명하세요 (iOS 및 Android 빌드에 모두 적용됩니다.) --output-upload). |
빌드 제어 옵션
빌드 제어 옵션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 | — | — | — | Explicitly re-enable auto-increment (overrides saved credentials) |
기본적으로 Capgo Cloud Build는 자동으로 빌드 번호를 증가시킵니다:
- iOS: App Store Connect에서 최신 빌드 번호를 가져와 1을 증가시킵니다.
- Android: Google Play에서 max
versionCode빌드 번호를 가져와 1을 증가시킵니다.
설정된 경우, 빌드는 프로젝트 파일( Xcode 프로젝트 또는 --skip-build-number-bump 출력 업로드 build.gradle).
__CAPGO_KEEP_0__ Flag
__CAPGO_KEEP_0__ Flag| CLI Flag | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--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. |
보존 형식: 인간이 읽을 수 있는 시간 단위 (예: 1시간, 3일 등)를 사용합니다. 최소 1시간, 최대 7일. 환경 변수를 통해 설정할 경우 초 단위 (예: 3600초 등)를 사용합니다. 1h, 6h, 2d, 7d1시간, 3일, 7일 3600 1시간 동안 작동합니다.
인증
인증| CLI Flag | 환경 변수 | 기본 | 설명 |
|---|---|---|---|
-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 (예시 com.example.myapp), 따라서 단일 인증 파일은 여러 앱의 설정을 충돌 없이 저장할 수 있습니다. 각 앱의 인증 정보는 플랫폼(ios / android).
저장된 인증 정보 관리
__CAPGO_KEEP_1__# 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 ios복사
예시GitHub Actions
Section titled “GitHub Actions”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 플래그를 직접 사용하기
Section titled “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_KEYCLI 오버라이드와 저장된 자격 증명을 combine합니다.:
# 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 플래그는 이 특정 실행에 대한 빌드 동작을 오버라이드합니다.