Pilihan Konfigurasi
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
Prioritas Konfigurasi
Setiap opsi build dapat diatur dalam beberapa cara. Ketika opsi yang sama diatur dalam beberapa tempat, sumber yang lebih tinggi prioritas menang:Prioritas konfigurasi: flag __CAPGO_KEEP_0__ mengalahkan variabel lingkungan, yang mengalahkan kredential lokal, yang mengalahkan kredential global
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
Jika kredential yang disimpan Anda memiliki tetapi Anda melewati SKIP_BUILD_NUMBER_BUMP=true pada __CAPGO_KEEP_0__, flag __CAPGO_KEEP_1__ menang dan nomor build akan di-inkrement secara otomatis. --no-skip-build-number-bump on the CLI, the CLI flag wins and build numbers will be auto-incremented.
Pilihan iOS
Bab yang berjudul “Pilihan iOS”Code Tanda Tangan
Bab yang berjudul “Code Tanda Tangan”| CLI Bendera | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Base64-encoding .p12 sertifikat distribusi |
--ios-provisioning-profile <map> | CAPGO_IOS_PROVISIONING_MAP | CAPGO_IOS_PROVISIONING_MAP | — | Profil pengaturan sebagai path atau bundleId=path peta. Ulangi untuk aplikasi multi-target (aplikasi + ekstensi); nama profil diambil secara otomatis. |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | Kata sandi untuk .p12 sertifikat (hilangkan jika sertifikat tidak memiliki kata sandi) |
Autentikasi App Store Connect
Bagian berjudul “Autentikasi App Store Connect”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--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 | — | ID Pengembang App Store Connect (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Kunci App Store Connect API yang Dikodekan dalam Base64 (.p8 file) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | ID Tim Pengembang App Store Connect |
Penggunaan kata sandi aplikasi (tidak dianjurkan)
Judul Bagian “Penggunaan kata sandi aplikasi (tidak dianjurkan)”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Alamat email ID Apple dari akun yang mengelola aplikasi |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | Kata sandi aplikasi khusus (xxxx-xxxx-xxxx-xxxx) yang dihasilkan di appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | ID Aplikasi App Store Connect Nomorik (misalnya 1234567890) |
Pengaturan Pembangunan iOS
Judul bagian “Pengaturan Pembangunan iOS”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Skenario Xcode untuk pembangunan |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Skenario Xcode untuk membaca pengaturan pembangunan |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Mode distribusi: app_store atau ad_hoc |
Pilihan Android
Judul Bagian “Pilihan Android”Tanda Tangan Keystore
Judul Bagian “Tanda Tangan Keystore”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | File keystore yang dikodekan dalam Base64 (.keystore atau .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias kunci keystore |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Kunci keystore (jika tidak diatur, akan menggunakan kunci penyimpanan) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Kunci penyimpanan keystore |
Konfigurasi Google Play
Bagian berjudul “Konfigurasi Google Play”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Kunci akun layanan Google Play yang dikodekan dengan Base64 |
| (hanya lingkungan) | PLAY_STORE_TRACK | — | internal | Rilis track Google Play (internal, alpha, beta, production) |
| (hanya lingkungan) | PLAY_STORE_RELEASE_STATUS | — | draft | Status rilis pada track yang dipilih (draft, completed, inProgress, halted) |
Pengaturan Bangun Android
Judul bagian “Pengaturan Bangun Android”| CLI Flag | Default | Deskripsi |
|---|---|---|
--android-flavor <flavor> | — | Flavor produk untuk dibangun (misalnya production). Wajib jika proyek Anda mendefinisikan beberapa rasa. |
--in-app-update-priority <0–5> | — | Prioritas pembaruan aplikasi dalam aplikasi Google Play untuk rilis ini (lebih tinggi = lebih mendesak). |
--no-playstore-upload | — | Buat dan tandatangan, tetapi lewati unggah ke Play Store (memerlukan --output-upload). |
Pilihan Pengendalian Build
Bagian berjudul “Pilihan Pengendalian Build”Opsi-opsi ini berlaku untuk baik build iOS maupun Android.
Mode Build
Bagian berjudul “Mode Build”| CLI Flag | Default | Deskripsi |
|---|---|---|
--platform <platform> | — | Diperlukan. ios atau android |
--build-mode <mode> | release | debug atau release |
--path <path> | . | Direktori Proyek |
--verbose | false | Aktifkan pengaturan log pembangunan yang rinci |
--ai-analytics | false | Pada gagal pembangunan, kirim log ke Capgo AI untuk diagnosis — lihat Diagnosis Pembangunan AI |
Pengendalian Nomor Pembangunan
Bab berjudul “Pengendalian Nomor Pembangunan”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Lebihkan secara otomatis nomor pembangunan / versi code |
--no-skip-build-number-bump | — | — | — | Mengaktifkan kembali secara eksplisit otomatis-increment (mengalahkan kredit yang disimpan) |
Dengan default, Capgo Cloud Build secara otomatis meningkatkan nomor build:
- iOS: Mengambil nomor build terbaru dari App Store Connect, meningkatkan oleh 1
- Android: Mengambil maksimum
versionCodedari Google Play, meningkatkan oleh 1
Ketika --skip-build-number-bump dipasang, build menggunakan versi yang sudah ada di file-project Anda (Xcode project atau build.gradle).
Upload Output
Bagian berjudul “Upload Output”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Pengenalan |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Unggah hasil pembangunan (IPA/APK/AAB) ke penyimpanan Capgo . Ketika diatur melalui variabel lingkungan, gunakan BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | Nonaktifkan unggah hasil pembangunan. Ketika diatur melalui variabel lingkungan, gunakan BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | Berapa lama tautan download aktif |
--output-record <path> | — | — | — | Setelah pembangunan sukses, tulis rekaman 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).
Autentikasi
Bagian berjudul “Autentikasi”| CLI Flag | Variabel Lingkungan | Default | Deskripsi |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API kunci autentikasi |
--supa-host <host> | — | — | Host Supabase yang Dibuat Sendiri (hanya untuk penggunaan sendiri) |
--supa-anon <key> | — | — | Kunci Anon Supabase yang Dibuat Sendiri (hanya untuk penggunaan sendiri) |
Referensi Variabel Lingkungan Cepat
Bagian berjudul “Referensi Variabel Lingkungan Cepat”Siap digunakan untuk pipeline CI/CD Anda. Semua variabel adalah opsional — hanya atur apa yang Anda butuhkan.
# 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
Bagian berjudul “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"Pengendalian Build
Bagian berjudul “Pengendalian Build”# 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"Penyimpanan Kredensial
Bagian berjudul “Penyimpanan Kredensial”Simpan Kredensial Secara Lokal
Bagian berjudul “Simpan Kredensial Secara Lokal”Alih-alih melewati flag atau var env setiap kali, simpan kredensial sekali:
# 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.jsonLokasi Penyimpanan
Bagian berjudul “Lokasi Penyimpanan”| Flag | Lokasi | Kasus Pengguna |
|---|---|---|
| (default) | ~/.capgo-credentials/credentials.json | Global — digunakan secara bersamaan di semua proyek di mesin Anda |
--local | .capgo-credentials.json di root proyek | Per-proyek — menggantikan global ketika kedua ada |
Kredensial dikunci oleh 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).
Manajemen Kredensial yang Disimpan
Bab yang berjudul “Manajemen Kredensial yang Disimpan”# 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 iosAksi GitHub
Bab yang berjudul “Aksi 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 }}Menggunakan Flag CLI Langsung
Bagian berjudul “Menggunakan Flag CLI Langsung”# 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_KEYKonfigurasi Campuran
Bagian berjudul “Konfigurasi Campuran”Gabungkan kredit yang disimpan dengan pengaturan 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 2dKredit yang disimpan menyediakan detail tanda tangan sementara flag CLI mengatur perilaku pembangunan untuk jalur ini.