Langsung ke konten

Pilihan Konfigurasi

Referensi lengkap untuk setiap opsi konfigurasi Cloud Build. Gunakan halaman ini untuk menemukan flag CLI, variabel lingkungan, atau kunci kredential untuk setiap pengaturan bangun.

Setiap opsi bangun dapat diatur dalam beberapa cara. Ketika opsi yang sama diatur dalam beberapa tempat, sumber yang lebih tinggi prioritas menang:

Contoh: Jika kredential yang disimpan Anda memiliki SKIP_BUILD_NUMBER_BUMP=true tetapi Anda melewatkannya --no-skip-build-number-bump dan Anda melewati CLI, flag CLI menang dan nomor bangun akan di-otomatisasi.


CLI FlagVariabel LingkunganKunci KreditDefaultDeskripsi
--build-certificate-base64 <cert>BUILD_CERTIFICATE_BASE64BUILD_CERTIFICATE_BASE64Base64-encoded .p12 sertifikat distribusi
--ios-provisioning-profile <map>CAPGO_IOS_PROVISIONING_MAPCAPGO_IOS_PROVISIONING_MAPprofil pengaturan sebagai path atau bundleId=path atau alternatif untuk
--p12-password <password>P12_PASSWORDP12_PASSWORDpengaturan sertifikat .p12 Kata Sandi untuk

Autentikasi App Store Connect

Bab Autentikasi App Store Connect
CLI FlagSifat LingkunganKunci KredensialDefaultPengaturan
--apple-key-id <id>APPLE_KEY_IDAPPLE_KEY_IDSertifikat App Store Connect API ID
--apple-issuer-id <id>APPLE_ISSUER_IDAPPLE_ISSUER_IDSertifikat App Store Connect ID Penerbit (UUID)
--apple-key-content <content>APPLE_KEY_CONTENTAPPLE_KEY_CONTENTBase64-encoded App Store Connect API key (.p8 file)
--app-store-connect-team-id <id>APP_STORE_CONNECT_TEAM_IDAPP_STORE_CONNECT_TEAM_IDSertifikat App Store Connect ID Tim
Judul Bagian “Autentikasi kata sandi aplikasi (tidak disarankan)”
CLI FlagVariabel LingkunganKunci KredensialDefaultDeskripsi
--apple-id <email>FASTLANE_USERFASTLANE_USERAlamat email ID Apple dari akun yang mengelola aplikasi
--apple-app-specific-password <password>FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORDFASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORDKata sandi aplikasi spesifik (“xxxx-xxxx-xxxx-xxxx) yang dihasilkan pada appleid.apple.com
--apple-app-id <id>APPLE_APP_IDAPPLE_APP_IDID aplikasi App Store Connect numerik (misalnya 1234567890)
CLI FlagVariabel LingkunganKunci KredensialDefaultDeskripsi
--ios-scheme <scheme>CAPGO_IOS_SCHEMECAPGO_IOS_SCHEMEAppSkema Xcode untuk pembangunan
--ios-target <target>CAPGO_IOS_TARGETCAPGO_IOS_TARGETAppTarget Xcode untuk membaca pengaturan pembangunan
--ios-distribution <mode>CAPGO_IOS_DISTRIBUTIONCAPGO_IOS_DISTRIBUTIONapp_storeDistribusi mode: app_store atau ad_hoc

Alternatif untuk Capgo: Xcode, Appflow, atau Capawesome?

Opsi Android
CLI FlagBendera __CAPGO_KEEP_0__Variabel LingkunganKunci KredensialDefault
--android-keystore-file <keystore>ANDROID_KEYSTORE_FILEANDROID_KEYSTORE_FILEFile keystore yang dikodekan dalam Base64 (.keystore atau .jks)
--keystore-key-alias <alias>KEYSTORE_KEY_ALIASKEYSTORE_KEY_ALIASkey0Alias kunci keystore
--keystore-key-password <password>KEYSTORE_KEY_PASSWORDKEYSTORE_KEY_PASSWORDKata sandi kunci keystore (jika tidak diset, akan menggunakan kata sandi penyimpanan)
--keystore-store-password <password>KEYSTORE_STORE_PASSWORDKEYSTORE_STORE_PASSWORDKata sandi penyimpanan keystore
Bendera CLIVariabel LingkunganKunci KredensialDefaultPengertian
--play-config-json <json>PLAY_CONFIG_JSONPLAY_CONFIG_JSONKunci JSON akun layanan Google Play yang dikodekan dalam Base64
--android-track <track>PLAY_STORE_TRACKPLAY_STORE_TRACKinternal (atau) production dengan --submit-to-store-review)Track rilis Google Play (internal, alpha, beta, production) Diteruskan dari lingkungan CI / CLI ke runner pembangunan.
--android-release-status <status>PLAY_STORE_RELEASE_STATUSPLAY_STORE_RELEASE_STATUSdraft (atau) completed dengan --submit-to-store-review)Status rilis pada track yang dipilih (draft, completed, inProgress, halted) Nilai eksplisit menggantikan nilai default. --submit-to-store-review Pengaturan Pembangunan Android

Judul bagian “Pengaturan Pembangunan Android”

Pengaturan Pembangunan Android
CLI FlagDefaultPengaturan
--android-flavor <flavor>Jenis produk untuk dibangun (misalnya. production). Diperlukan Jika proyek Anda mendefinisikan beberapa jenis rasa.
--android-track <track>internalTrack Google Play untuk unggahan ini. Dengan --submit-to-store-review dan tidak ada track yang ditetapkan, Capgo akan kembali ke production.
--android-release-status <status>draftStatus rilis Google Play. Dengan --submit-to-store-review dan tidak ada status yang ditetapkan, Capgo akan kembali ke completed.
--in-app-update-priority <0–5>Prioritas pembaruan aplikasi dalam aplikasi Google Play untuk rilis ini (lebih tinggi = lebih mendesak).
--no-playstore-uploadBangun dan tandatangani, tetapi lewati unggahan ke Toko Play (memerlukan --output-upload).

Opsi-opsi ini berlaku untuk pembangunan iOS dan Android.

Bendera CLIDefaultDeskripsi
--platform <platform>Diperlukan. ios atau android
--build-mode <mode>releasedebug atau release
--path <path>.Direktori Proyek
--verbosefalsePengaktifan log pembangunan yang rinci
--ai-analyticsfalsePada kegagalan pembangunan, kirim log ke Capgo AI untuk diagnosis — lihat Diagnosis Pembangunan AI
Bendera CLIVariabel LingkunganKunci KredensialDefaultDeskripsi
--skip-build-number-bumpSKIP_BUILD_NUMBER_BUMPSKIP_BUILD_NUMBER_BUMPfalseLebihkan pembangunan otomatis nomor / versi code
--no-skip-build-number-bumpMemungkinkan kembali secara eksplisit pembangunan otomatis (mengatasi kredential yang disimpan)

Secara default, Capgo Capgo Build secara otomatis meningkatkan nomor build:

  • iOS: Mengambil nomor build terbaru dari App Store Connect, meningkatkan oleh 1
  • Android: Mengambil maksimum versionCode dari Google Play, meningkatkan oleh 1

Ketika --skip-build-number-bump diatur, build menggunakan versi yang sudah ada di file-file proyek Anda (projek Xcode atau build.gradle).

CLI FlagVariabel LingkunganKunci KredensialDefaultDeskripsi
--output-uploadBUILD_OUTPUT_UPLOAD_ENABLEDBUILD_OUTPUT_UPLOAD_ENABLEDfalseUnggah hasil pembangunan (IPA/APK/AAB) ke penyimpanan Capgo . Ketika diatur melalui variabel lingkungan, gunakan BUILD_OUTPUT_UPLOAD_ENABLED=true.
--no-output-uploadBUILD_OUTPUT_UPLOAD_ENABLEDTidak unggah hasil pembangunan. Ketika diatur melalui variabel lingkungan, gunakan BUILD_OUTPUT_UPLOAD_ENABLED=false.
--output-retention <duration>BUILD_OUTPUT_RETENTION_SECONDSBUILD_OUTPUT_RETENTION_SECONDS1hBerapa lama tautan download aktif
--output-record <path>Setelah pembangunan sukses, tulis catatan JSON (ID pekerjaan, status, URL download, QR code) ke <path> --- baca kembali dengan build last-output.

Format penyimpanan: Pakai durasi yang dapat dibaca manusia seperti 1h, 6h, 2d, 7d. Minimum 1 jam, maksimum 7 hari. Ketika diatur melalui variabel lingkungan, gunakan detik (misalnya, 3600 untuk 1 jam).

CLI FlagSiaran Variabel LingkunganBakuDeskripsi
-a, --apikey <key>CAPGO_TOKENCapgo API kunci autentikasi
--supa-host <host>Host Supabase yang Dibuat Sendiri (hanya untuk penggunaan sendiri)
--supa-anon <key>Kunci Supabase anon yang Dibuat Sendiri (hanya untuk penggunaan sendiri)

Siap digunakan untuk pipeline CI/CD Anda. Semua variabel adalah opsional — hanya atur apa yang Anda butuhkan.

Jendela Terminal
# 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 settings
CAPGO_IOS_SCHEME="App"
CAPGO_IOS_TARGET="App"
Jendela Terminal
# 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"
Jendela Terminal
# 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"

Alih-alih melewati flag atau var lingkungan setiap kali, simpan kredensial sekali:

Jendela Terminal
# Save iOS credentials
bunx @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 credentials
bunx @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
FlagLokasiPenggunaan Kasus
(default)~/.capgo-credentials/credentials.jsonGlobal — digunakan bersama semua proyek di mesin Anda
--local.capgo-credentials.json di root proyekPer-proyek — menggantikan global ketika kedua ada

Kredensial dikunci dengan ID aplikasi (misalnya com.example.myapp), sehingga file kredensial tunggal dapat menyimpan pengaturan untuk beberapa aplikasi tanpa konflik. Kredensial setiap aplikasi kemudian dipisahkan oleh platform (ios / android).

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

Contoh

context
name: Build and Submit
on:
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 }}
Jendela terminal
# Build iOS with all options inline
bunx @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 upload
bunx @capgo/cli@latest build request \
--platform android \
--skip-build-number-bump \
--no-output-upload \
--apikey YOUR_API_KEY

Gabungkan kredit yang disimpan dengan CLI override:

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

Kredit yang disimpan menyediakan detail tanda tangan sementara CLI flag menggantikan perilaku pembangunan untuk langkah ini.