Zum Inhalt springen

Configuration Options

Dieser Inhalt ist in Ihrer Sprache noch nicht verfügbar.

Complete reference for every Cloud Build configuration option. Use this page to find the CLI flag, environment variable, or credential key for any build setting.

Every build option can be set in multiple ways. When the same option is set in multiple places, higher-priority sources win:

Example: If your saved credentials have SKIP_BUILD_NUMBER_BUMP=true but you pass --no-skip-build-number-bump on the CLI, the CLI flag wins and build numbers will be auto-incremented.


CLI FlagEnv VariableCredential KeyDefaultDescription
--build-certificate-base64 <cert>BUILD_CERTIFICATE_BASE64BUILD_CERTIFICATE_BASE64Base64-encoded .p12 distribution certificate
--build-provision-profile-base64 <profile>BUILD_PROVISION_PROFILE_BASE64BUILD_PROVISION_PROFILE_BASE64Base64-encoded .mobileprovision provisioning profile
--build-provision-profile-base64-prod <profile>BUILD_PROVISION_PROFILE_BASE64_PRODBUILD_PROVISION_PROFILE_BASE64_PRODProduction provisioning profile (optional, for App Store distribution)
--p12-password <password>P12_PASSWORDP12_PASSWORDPassword for the .p12 certificate (omit if certificate has no password)
CLI FlagEnv VariableCredential KeyDefaultDescription
--apple-key-id <id>APPLE_KEY_IDAPPLE_KEY_IDApp Store Connect API Key ID
--apple-issuer-id <id>APPLE_ISSUER_IDAPPLE_ISSUER_IDApp Store Connect Issuer ID (UUID)
--apple-key-content <content>APPLE_KEY_CONTENTAPPLE_KEY_CONTENTBase64-encoded App Store Connect API key (.p8 file)
--apple-profile-name <name>APPLE_PROFILE_NAMEAPPLE_PROFILE_NAMEProvisioning profile name as shown in Apple Developer portal
--app-store-connect-team-id <id>APP_STORE_CONNECT_TEAM_IDAPP_STORE_CONNECT_TEAM_IDApp Store Connect Team ID
CLI FlagEnv VariableCredential KeyDefaultDescription
--ios-scheme <scheme>CAPGO_IOS_SCHEMECAPGO_IOS_SCHEMEAppXcode scheme to build
--ios-target <target>CAPGO_IOS_TARGETCAPGO_IOS_TARGETAppXcode target for reading build settings

CLI FlagEnv VariableCredential KeyDefaultDescription
--android-keystore-file <keystore>ANDROID_KEYSTORE_FILEANDROID_KEYSTORE_FILEBase64-encoded keystore file (.keystore or .jks)
--keystore-key-alias <alias>KEYSTORE_KEY_ALIASKEYSTORE_KEY_ALIASkey0Keystore key alias
--keystore-key-password <password>KEYSTORE_KEY_PASSWORDKEYSTORE_KEY_PASSWORDKeystore key password (falls back to store password if not set)
--keystore-store-password <password>KEYSTORE_STORE_PASSWORDKEYSTORE_STORE_PASSWORDKeystore store password
CLI FlagEnv VariableCredential KeyDefaultDescription
--play-config-json <json>PLAY_CONFIG_JSONPLAY_CONFIG_JSONBase64-encoded Google Play service account JSON key
Env VariableDefaultDescription
PLAY_STORE_TRACKinternalGoogle Play release track (internal, alpha, beta, production)
PLAY_STORE_RELEASE_STATUSdraftRelease status on Google Play (draft, completed)

These options work for both iOS and Android builds.

CLI FlagDefaultDescription
--platform <platform>Required. ios or android
--build-mode <mode>releasedebug or release
--build-config <json>Additional JSON build configuration
--path <path>.Project directory
--verbosefalseEnable verbose build logging
CLI FlagEnv VariableCredential KeyDefaultDescription
--skip-build-number-bumpSKIP_BUILD_NUMBER_BUMPSKIP_BUILD_NUMBER_BUMPfalseSkip automatic build number / version code incrementing
--no-skip-build-number-bumpExplicitly re-enable auto-increment (overrides saved credentials)

By default, Capgo Cloud Build automatically increments build numbers:

  • iOS: Fetches latest build number from App Store Connect, increments by 1
  • Android: Fetches max versionCode from Google Play, increments by 1

When --skip-build-number-bump is set, the build uses whatever version is already in your project files (Xcode project or build.gradle).

CLI FlagEnv VariableCredential KeyDefaultDescription
--output-uploadBUILD_OUTPUT_UPLOAD_ENABLEDBUILD_OUTPUT_UPLOAD_ENABLEDfalseUpload build outputs (IPA/APK/AAB) to Capgo storage. When set via env var, use BUILD_OUTPUT_UPLOAD_ENABLED=true.
--no-output-uploadBUILD_OUTPUT_UPLOAD_ENABLEDDisable output upload. When set via env var, use BUILD_OUTPUT_UPLOAD_ENABLED=false.
--output-retention <duration>BUILD_OUTPUT_RETENTION_SECONDSBUILD_OUTPUT_RETENTION_SECONDS1hHow long download links remain active

Retention format: Use human-readable durations like 1h, 6h, 2d, 7d. Minimum is 1 hour, maximum is 7 days. When set via env var, use seconds (e.g., 3600 for 1 hour).

CLI FlagEnv VariableDefaultDescription
-a, --apikey <key>CAPGO_TOKENCapgo API key for authentication
--supa-host <host>Custom Supabase host (self-hosting only)
--supa-anon <key>Custom Supabase anon key (self-hosting only)

Copy-paste ready for your CI/CD pipeline. All variables are optional — only set what you need.

Terminal window
# 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 settings
CAPGO_IOS_SCHEME="App"
CAPGO_IOS_TARGET="App"
Terminal window
# 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 settings
PLAY_STORE_TRACK="internal"
PLAY_STORE_RELEASE_STATUS="draft"
Terminal window
# Build behavior
SKIP_BUILD_NUMBER_BUMP="true" # Skip auto-increment
BUILD_OUTPUT_UPLOAD_ENABLED="true" # Upload IPA/APK/AAB
BUILD_OUTPUT_RETENTION_SECONDS="3600" # 1 hour download link
# Authentication
CAPGO_TOKEN="your-api-key"

Instead of passing flags or env vars every time, save credentials once:

Terminal window
# Save iOS credentials
bunx @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 credentials
bunx @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
FlagLocationUse Case
(default)~/.capgo-credentials/credentials.jsonGlobal — shared across all projects on your machine
--local.capgo-credentials.json in project rootPer-project — overrides global when both exist

Credentials are keyed by app ID (e.g. com.example.myapp), so a single credentials file can store settings for multiple apps without conflicts. Each app’s credentials are further split by platform (ios / android).

Terminal window
# List saved credentials
bunx @capgo/cli build credentials list
# Update a specific option without re-entering everything
bunx @capgo/cli build credentials update --skip-build-number-bump
# Clear saved credentials
bunx @capgo/cli build credentials clear --platform ios

name: Build and Submit
on:
push:
branches: [main]
jobs:
build-ios:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- 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@v4
- 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 }}
Terminal window
# Build iOS with all options inline
bunx @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 upload
bunx @capgo/cli build request \
--platform android \
--skip-build-number-bump \
--no-output-upload \
--apikey YOUR_API_KEY

Combine saved credentials with CLI overrides:

Terminal window
# Save base credentials once
bunx @capgo/cli build credentials save --platform ios \
--certificate ./cert.p12 \
--provisioning-profile ./profile.mobileprovision \
--output-upload
# Override specific options per-build
bunx @capgo/cli build request --platform ios \
--skip-build-number-bump \
--output-retention 2d

The saved credentials provide signing details while CLI flags override build behavior for this specific run.