Pilihan Konfigurasi
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Referensi lengkap untuk setiap opsi konfigurasi Cloud Build. Gunakan halaman ini untuk menemukan flag CLI, variabel lingkungan, atau kunci kredential untuk setiap pengaturan bangun.
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 SKIP_BUILD_NUMBER_BUMP=true tetapi Anda melewatkan --no-skip-build-number-bump Pada CLI, flag CLI akan menang dan nomor build akan di-increment secara otomatis.
Option iOS
Judul Bagian “Option iOS”Code Signing
Judul Bagian “Code Signing”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Pengenalan |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Dikodekan dalam Base64 .p12 Sertifikat distribusi |
--ios-provisioning-profile <map> | CAPGO_IOS_PROVISIONING_MAP | CAPGO_IOS_PROVISIONING_MAP | — | Profil pengaturan sebagai path atau bundleId=path atau |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | Peta pengaturan aplikasi. Ulangi untuk aplikasi multi-target (aplikasi + ekstensi); nama profil diekstrak secara otomatis. .p12 Kata sandi untuk |
Sertifikat (hilangkan jika sertifikat tidak memiliki kata sandi)
Autentikasi App Store Connect| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Baku | Deskripsi |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Situs Toko Aplikasi Connect API ID Kunci |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | Situs Toko Aplikasi Connect ID Pengirim (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Base64-encoded App Store Connect API key (.p8 file) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | ID Tim Situs Toko Aplikasi Connect |
Autentikasi kata sandi aplikasi (tidak direkomendasikan)
Bab berjudul “Autentikasi kata sandi aplikasi (tidak direkomendasikan)”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Pengenalan |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Alamat email ID Apple yang dimiliki oleh aplikasi |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | Kata sandi aplikasi (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
Judul bagian “Pengaturan Pembangunan iOS”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Skema Xcode untuk membangun |
--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 |
Apakah Anda ingin memilih alternatif yang lebih baik untuk memperbarui aplikasi Anda secara langsung?
Opsi AndroidOpsi Android
Pengaturan Signing Keystore| CLI Flag | Bendera __CAPGO_KEEP_0__ | Variabel Lingkungan (Env Variable) untuk Pengaturan Keamanan Aplikasi Anda (Credential Key) | Default | Pengenalan |
|---|---|---|---|---|
--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 | Konfigurasi Google Play |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Bagian berjudul “Konfigurasi Google Play” |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | __CAPGO_KEEP_0__ Flag |
Variabel Lingkungan
Kunci Kredensial| CLI Flag | Alias kunci keystore | Kata sandi kunci keystore (jatuh kembali ke kata sandi penyimpanan jika tidak ditentukan) | Default | Deskripsi |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Kunci JSON akun layanan Google Play yang dikodekan dalam Base64 |
--android-track <track> | PLAY_STORE_TRACK | PLAY_STORE_TRACK | internal atau production dengan --submit-to-store-review) | Jalur rilis Google Play (internal, alpha, beta, production) Diteruskan dari lingkungan CI / CLI ke runner pembangunan. |
--android-release-status <status> | PLAY_STORE_RELEASE_STATUS | PLAY_STORE_RELEASE_STATUS | draft atau completed dengan --submit-to-store-review) | Status rilis pada jalur yang dipilih (draft, completed, inProgress, halted) Nilai eksplisit menggantikan nilai default. --submit-to-store-review default. |
Pengaturan Pembangunan Android
Judul Bagian “Pengaturan Pembangunan Android”| CLI Flag | Default | Pengenalan |
|---|---|---|
--android-flavor <flavor> | — | Rasa produk untuk dibangun (misalnya production). Diperlukan jika proyek Anda mendefinisikan beberapa rasa. |
--android-track <track> | internal | Google Play track untuk unggahan ini. Dengan --submit-to-store-review dan tidak ada track yang ditetapkan, Capgo akan kembali ke production. |
--android-release-status <status> | draft | status 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 Google Play untuk rilis ini (lebih tinggi = lebih mendesak). |
--no-playstore-upload | — | Bangun dan tandatangani, tetapi lewati unggah ke Toko Play (memerlukan --output-upload). |
Opsi Pengendalian Bangun
Judul Bagian ‘Opsi Pengendalian Bangun’Opsi ini berlaku untuk bangun iOS dan Android.
Mode Bangun
Judul Bagian ‘Mode Bangun’| CLI Flag | Default | Deskripsi |
|---|---|---|
--platform <platform> | — | Diperlukan. ios atau (dalam konteks perbandingan alternatif pembaruan hidup Capacitor), apakah Anda ingin menggunakan Appflow, Capawesome, atau menghubungi kami untuk konsultasi? android |
--build-mode <mode> | release | debug atau release |
--path <path> | . | Direktori Proyek |
--verbose | false | Aktifkan Log Pembangunan yang Rinci |
--ai-analytics | false | Pada gagal pembangunan, kirimkan log ke AI Capgo untuk diagnosis — lihat Diagnosis Pembangunan AI |
Pengendalian Nomor Pembangunan
Bab berjudul “Pengendalian Nomor Pembangunan”| Bendera CLI | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Melewatkan peningkatan nomor / versi otomatis code |
--no-skip-build-number-bump | — | — | — | Memungkinkan auto-increment 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
versionCodefrom Google Play, meningkatkan oleh 1
Ketika --skip-build-number-bump digunakan, 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 | Deskripsi |
|---|---|---|---|---|
--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 | — | — | Tidak 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, 7dWaktu minimum adalah 1 jam, waktu maksimum adalah 7 hari. Ketika disetel melalui variabel lingkungan, gunakan detik (misalnya, 3600). 3600 Build Cache
Bagian Judul “Build Cache”
__CAPGO_KEEP_0__ menyimpan artefak native yang dikompilasi (CocoaPods, Gradle, dan hasil pembangunan terkait) per aplikasiCapgo saves compiled native artifacts (CocoaPods, Gradle, and related build outputs) Build Cache diaktifkan secara default untuk setiap aplikasi. __CAPGO_KEEP_0__ Flag __CAPGO_KEEP_0__ field
| CLI Flag | API field | Cache Pembangunan | Deskripsi |
|---|---|---|---|
--no-cache | cache_enabled: false | aktifkan cache | Matikan cache untuk build ini: lewati restore dan jangan menyimpan entri baru |
--cache-key <value> | cache_key | (lewatkan) | Bagi cache (misalnya prod, staging) Lewatkan untuk cache umum yang sama untuk aplikasi |
CLI setara: build request menerima --no-cache dan --cache-key.
CLI contoh:
# Default: restore/save the shared per-app cachebunx @capgo/cli@latest build request com.example.app --platform android
# Separate caches per environmentbunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=prod
bunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=staging \ --android-flavor staging
# One-off clean build (no restore, no save)bunx @capgo/cli@latest build request com.example.app --platform ios --no-cacheAPI / payload webhook (ketika integrasi Anda memanggil Capgo Bangun secara langsung):
{ "platform": "android", "cache_key": "prod"}Omit cache_key untuk cache umum yang dibagikan. Atur cache_key Pisahkan berdasarkan lingkungan. Atur "cache_enabled": false Pisahkan untuk menonaktifkan cache untuk permintaan tunggal (sama seperti --no-cache).
Jika sebuah build terlihat sukses tetapi artefaknya salah — atau sebuah AAB Android hilang setelah beralih RC vs produksi — cobalah menggunakan kunci cache khusus atau sebuah build satu-satunya --no-cache Lihat Pengaturan: pemulihan cache salah.
Autentikasi
Bab berjudul “Autentikasi”| CLI Flag | Variabel Lingkungan | Default | Pengenalan |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API kunci autentikasi |
--supa-host <host> | — | — | Host Supabase Pribadi (hanya untuk self-hosting) |
--supa-anon <key> | — | — | Kunci anonim Supabase Pribadi (hanya untuk self-hosting) |
Referensi Variabel Lingkungan
Judul Bagian “Referensi Variabel Lingkungan”Siap digunakan untuk pipeline CI/CD Anda. Semua variabel 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"Judul Bagian “Android”
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 settingsPLAY_STORE_TRACK="internal"PLAY_STORE_RELEASE_STATUS="draft"Kontrol Pembangunan
Judul Bagian “Kontrol Pembangunan”# 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
Judul Bagian “Penyimpanan Kredensial”Simpan Kredensial Secara Lokal
Judul Bagian “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
Judul Bagian “Lokasi Penyimpanan”| Bendera | Lokasi | Penggunaan Kasus |
|---|---|---|
| context | ~/.capgo-credentials/credentials.json | Default |
--local | .capgo-credentials.json Global — digunakan di semua proyek di mesin Anda | di root proyek |
Per-proyek — menggantikan global ketika kedua ada Kredensial dikunci oleh ID Aplikasi (e.g. com.example.myappJadi, file kredit tunggal dapat menyimpan pengaturan untuk beberapa aplikasi tanpa konflik. Kredit setiap aplikasi kemudian dipisahkan oleh platform (ios / android).
Pengelolaan Kredit yang Disimpan
Judul bagian ‘Pengelolaan 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 iosAksi GitHub
Judul Bagian “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-Flag CLI Langsung
Judul Bagian “Menggunakan 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 yang disimpan dengan pengaturan CLI tambahan:
# 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 2dKredensial yang disimpan menyediakan detail tanda tangan sementara CLI flag mengatur perilaku pembangunan untuk langkah ini.