Opsi 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
Bab berjudul “Prioritas Konfigurasi”Setiap opsi bangun dapat diatur dalam beberapa cara. Ketika opsi yang sama diatur dalam beberapa tempat, sumber yang lebih tinggi prioritas menang:
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
Contoh: Jika kredential yang disimpan Anda memiliki SKIP_BUILD_NUMBER_BUMP=true tetapi Anda memasukkan --no-skip-build-number-bump pada flag CLI, flag CLI menang dan nomor bangun akan di-inkrement secara otomatis.
Pilihan iOS
Bab yang berjudul “Pilihan iOS”Code Signing
Bab yang berjudul “Code Signing”| CLI Flag | Variabel Lingkungan | Kunci Kredit | Default | Deskripsi |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Base64-encoded .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 diekstrak 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 | — | ID Kunci App Store Connect API |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | ID Pengemis 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 App Store Connect |
Penggunaan kata sandi aplikasi untuk autentikasi (tidak direkomendasikan)
Bagian berjudul “Autentikasi kata sandi aplikasi (tidak disarankan)”| CLI Flag | Sifat Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Alamat email ID Apple dari akun yang mengembangkan 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 pada appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | ID Aplikasi App Store Connect numerik (misalnya 1234567890) |
Pengaturan Pembangunan iOS
Bab berjudul “Pengaturan Pembangunan iOS”| Bendera CLI | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Skema Xcode untuk pembangunan |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Target Xcode untuk membaca pengaturan pembangunan |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Mode Distribusi: app_store atau ad_hoc |
Opsi Android
Bagian berjudul “Opsi Android”Tanda Tangan Keystore
Bagian berjudul “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 | — | Kata sandi kunci keystore (jatuh kembali ke kata sandi penyimpanan jika tidak ditetapkan) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Kata sandi 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 JSON akun layanan Google Play yang dikodekan dengan Base64 |
| (env hanya) | PLAY_STORE_TRACK | — | internal | Google Play rilis track (internal, alpha, beta, production) |
| (env hanya) | PLAY_STORE_RELEASE_STATUS | — | draft | Status rilis pada track yang dipilih (draft, completed, inProgress, halted) |
Pengaturan Build Android
Bagian berjudul “Pengaturan Build Android”| CLI Flag | Default | Deskripsi |
|---|---|---|
--android-flavor <flavor> | — | Varian produk untuk dibangun (misalnya production). Wajib jika proyek Anda mendefinisikan beberapa varian. |
--in-app-update-priority <0–5> | — | Prioritas pembaruan dalam aplikasi Google Play untuk rilis ini (lebih tinggi = lebih mendesak). |
--no-playstore-upload | — | Buat dan tandatangani, tetapi lewati unggah ke Play Store (memerlukan --output-upload). |
Pilihan Pengendalian Pembangunan
Bagian berjudul “Pilihan Pengendalian Pembangunan”Opsi-opsi ini berlaku untuk pembangunan iOS dan Android.
Mode Pembangunan
Bagian berjudul “Mode Pembangunan”| 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 | Kirim log ke Capgo AI untuk diagnosis setelah gagal — lihat Diagnosis Pembangunan AI |
Kontrol Nomor Pembangunan
Bagian berjudul “Kontrol Nomor Pembangunan”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Skip otomatis meningkatkan nomor versi / versi code |
--no-skip-build-number-bump | — | — | — | Aktifkan kembali otomatis meningkatkan secara eksplisit (mengatasi 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 Capgo penyimpanan. 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 tetap aktif |
--output-record <path> | — | — | — | Sesudah pembangunan sukses, tuliskan 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. Minimalnya 1 jam, maksimal 7 hari. Ketika diatur melalui variabel lingkungan, gunakan detik (misalnya, 3600 Autentikasi
Bagian berjudul “Autentikasi”
__CAPGO_KEEP_0__ Flag| CLI Flag | Default | Deskripsi | __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ kunci autentikasi |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API key for authentication |
--supa-host <host> | — | — | Kunci anon Supabase yang disesuaikan (hanya untuk self-hosting) |
--supa-anon <key> | — | — | Referensi Variabel Lingkungan Cepat |
Environment Variable Quick Reference
Referensi Variabel Lingkungan CepatSalin dan gunakan siap pakai untuk pipeline CI/CD Anda. Semua variabel adalah opsional — hanya atur apa yang Anda butuhkan.
iOS
Bagian “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
Bagian “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 Bangun
Bagian “Pengendalian Bangun”# 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 lingkungan 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 | Penggunaan Kasus |
|---|---|---|
| (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).
Kelola Kredit yang Disimpan
Judul bagian “Kelola Kredit 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 iosContoh
Judul bagian “Contoh”GitHub Aksi
Judul bagian “GitHub Aksi”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 }}Memakai Flag-Flag CLI Langsung
Judul Bagian “Memakai Flag-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
Judul Bagian “Konfigurasi Campuran”Gabungkan kredit penyimpanan dengan pengaturan CLI yang diubah:
# 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 penyimpanan menyediakan detail tanda tangan sementara flag-flag CLI mengubah perilaku pembangunan untuk jalur ini secara spesifik.