구성 옵션
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
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.
CI/CD PIPELINE의 경우, 환경 변수가 가장 편리합니다. 로컬 개발 시, 저장된 인증 정보 (via )를 사용하여 플래그를 반복하지 않도록 합니다.
iOS 옵션Code 서명
Code 서명| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Base64 인코딩 .p12 분배 인증서 |
--build-provision-profile-base64 <profile> | BUILD_PROVISION_PROFILE_BASE64 | BUILD_PROVISION_PROFILE_BASE64 | — | Base64 인코딩 .mobileprovision 배포 프로파일 |
--build-provision-profile-base64-prod <profile> | BUILD_PROVISION_PROFILE_BASE64_PROD | BUILD_PROVISION_PROFILE_BASE64_PROD | — | 배포 프로비전 프로파일 (선택, 앱 스토어 배포) |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | __CAPGO_KEEP_0__의 암호 .p12 __CAPGO_KEEP_0__ 인증서의 암호 (인증서가 암호가 없으면 생략) |
앱 스토어 연결 인증
앱 스토어 연결 인증| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | 앱 스토어 연결 API 키 ID |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | 앱 스토어 연결 발급자 ID (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Base64-인코딩 App Store Connect API 키 (.p8 파일 |
--apple-profile-name <name> | APPLE_PROFILE_NAME | APPLE_PROFILE_NAME | — | Apple Developer portal에 표시된 프로비전 프로파일 이름 |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | App Store Connect 팀 ID |
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 빌드 설정을 읽기 위해 사용하는 대상 |
안드로이드 옵션
안드로이드 옵션 섹션키스토어 인증
키스토어 인증 섹션| CLI Flag | 환경 변수 | 인증 키 | 기본값 | 설명 |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Base64 인코딩 키스토어 파일 (.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 | — | Google Play 서비스 계정 JSON 키 (Base64 인코딩) |
안드로이드 빌드 설정
안드로이드 빌드 설정| 환경 변수 | 기본값 | 설명 |
|---|---|---|
PLAY_STORE_TRACK | internal | Google Play 릴리스 트랙internal, alpha, beta, production) |
PLAY_STORE_RELEASE_STATUS | draft | 구글 플레이 스토어 릴리스 상태 (draft, completed) |
빌드 제어 옵션
빌드 제어 옵션iOS 및 Android 빌드 모두에 적용됩니다.
빌드 모드
빌드 모드| CLI 플래그 | 기본 | 설명 |
|---|---|---|
--platform <platform> | — | 필수. ios 또는 android |
--build-mode <mode> | release | debug 또는 release |
--build-config <json> | — | 추가 JSON 빌드 구성 |
--path <path> | . | 프로젝트 디렉토리 |
--verbose | false | Verbose 빌드 로깅 활성화 |
빌드 번호 제어
‘빌드 번호 제어’ 제목| CLI 플래그 | 환경 변수 | 인증 키 | 기본 | 자동 빌드 번호/버전 __CAPGO_KEEP_0__ 증가를 생략 |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Skip automatic build number / version code incrementing |
--no-skip-build-number-bump | — | — | — | __CAPGO_KEEP_0__ |
기본적으로 Capgo Cloud Build는 빌드 번호를 자동으로 증가시킵니다:
- iOS: App Store Connect에서 최신 빌드 번호를 가져와 1을 더합니다.
- Android: Google Play에서 max를 가져와 1을 더합니다.
versionCode설정된 경우, 빌드는 프로젝트 파일(Xcode 프로젝트 또는
출력 업로드 --skip-build-number-bump __CAPGO_KEEP_0__ 플래그 build.gradle).
환경 변수
Capacitor| CLI Flag | Capacitor | 인증 키 | 기본 | 설명 |
|---|---|---|---|---|
--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 | — | — | 출력 업로드를 비활성화합니다. 환경 변수를 통해 설정할 경우 사용 BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | 다운로드 링크 활성 시간 |
보존 형식: 인간이 읽을 수 있는 시간 형식 사용 1h, 6h, 2d, 7d. 최소 1시간, 최대 7일입니다. 환경 변수를 통해 설정할 경우 초 단위로 사용 (예: 3600 인증
| CLI Flag | __CAPGO_KEEP_0__ 환경 변수 | 기본값 | 설명 |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API 인증을 위한 키 |
--supa-host <host> | — | — | 자체 호스팅 시 사용하는 Custom Supabase 호스트 |
--supa-anon <key> | — | — | 자체 호스팅 시 사용하는 Custom Supabase anon 키 |
환경 변수 빠른 참조
환경 변수 빠른 참조 섹션CI/CD PIPELINE에서 사용할 수 있는 복사 및 붙여넣기 가능한 형식입니다. 모든 변수는 선택적이며 필요할 때만 설정하세요.
iOS
iOS 섹션# Code signing (required for iOS builds)BUILD_CERTIFICATE_BASE64="<base64-encoded .p12>"BUILD_PROVISION_PROFILE_BASE64="<base64-encoded .mobileprovision>"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>"APPLE_PROFILE_NAME="My App Distribution Profile"APP_STORE_CONNECT_TEAM_ID="TEAM123456"
# Optional iOS settingsCAPGO_IOS_SCHEME="App"CAPGO_IOS_TARGET="App"안드로이드
안드로이드# 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 build credentials save \ --platform ios \ --certificate ./dist_cert.p12 \ --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-profile-name "My App Profile" \ --apple-team-id TEAM123456
# Save Android credentialsbunx @capgo/cli 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).
저장된 인증 정보 관리
Saved Credential 관리# List saved credentialsbunx @capgo/cli build credentials list
# Update a specific option without re-entering everythingbunx @capgo/cli build credentials update --skip-build-number-bump
# Clear saved credentialsbunx @capgo/cli build credentials clear --platform ios예시
예시GitHub 액션
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 build request --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_PROFILE }} 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 }} APPLE_PROFILE_NAME: ${{ secrets.APPLE_PROFILE_NAME }} 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 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 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 build request \ --platform android \ --skip-build-number-bump \ --no-output-upload \ --apikey YOUR_API_KEY혼합 설정
혼합 설정 섹션CLI 오버라이드와 함께 저장된 자격 증명을 결합하십시오:
# Save base credentials oncebunx @capgo/cli build credentials save --platform ios \ --certificate ./cert.p12 \ --provisioning-profile ./profile.mobileprovision \ --output-upload
# Override specific options per-buildbunx @capgo/cli build request --platform ios \ --skip-build-number-bump \ --output-retention 2d저장된 자격 증명은 서명 세부 정보를 제공하며 CLI 플래그는 이 특정 실행에 대한 빌드 동작을 오버라이드합니다.