Pilihan Konfigurasi
Copy sebuah prompt pengaturan dengan langkah-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 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.
Pilihan iOS
Judul Bagian “Pilihan iOS”Code Signing
Judul Bagian “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 atau alternatif untuk |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | pengaturan sertifikat .p12 Kata Sandi untuk |
Autentikasi App Store Connect
Bab Autentikasi App Store Connect| CLI Flag | Sifat Lingkungan | Kunci Kredensial | Default | Pengaturan |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Sertifikat App Store Connect API ID |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | Sertifikat App Store Connect ID Penerbit (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 | — | Sertifikat App Store Connect ID Tim |
Autentikasi kata sandi aplikasi (tidak disarankan)
Judul Bagian “Autentikasi kata sandi aplikasi (tidak disarankan)”| 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 spesifik (“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”| CLI Flag | 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 | Distribusi mode: app_store atau ad_hoc |
Alternatif untuk Capgo: Xcode, Appflow, atau Capawesome?
Opsi AndroidOpsi Android
Penandatanganan Keystore| CLI Flag | Bendera __CAPGO_KEEP_0__ | Variabel Lingkungan | Kunci Kredensial | Default |
|---|---|---|---|---|
--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 (jika tidak diset, akan menggunakan kata sandi penyimpanan) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Kata sandi penyimpanan keystore |
Pengaturan Google Play
Bab yang berjudul “Pengaturan Google Play”| Bendera CLI | Variabel Lingkungan | Kunci Kredensial | Default | Pengertian |
|---|---|---|---|---|
--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) | Track 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 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 Flag | Default | Pengaturan |
|---|---|---|
--android-flavor <flavor> | — | Jenis produk untuk dibangun (misalnya. production). Diperlukan Jika proyek Anda mendefinisikan beberapa jenis rasa. |
--android-track <track> | internal | Track 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> | 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 dalam aplikasi Google Play untuk rilis ini (lebih tinggi = lebih mendesak). |
--no-playstore-upload | — | Bangun dan tandatangani, tetapi lewati unggahan ke Toko Play (memerlukan --output-upload). |
Pilihan Pengaturan Pembangunan
Judul Bagian “Pilihan Pengaturan Pembangunan”Opsi-opsi ini berlaku untuk pembangunan iOS dan Android.
Pilihan Mode Pembangunan
Judul Bagian “Pilihan Mode Pembangunan”| Bendera CLI | Default | Deskripsi |
|---|---|---|
--platform <platform> | — | Diperlukan. ios atau android |
--build-mode <mode> | release | debug atau release |
--path <path> | . | Direktori Proyek |
--verbose | false | Pengaktifan log pembangunan yang rinci |
--ai-analytics | false | Pada kegagalan pembangunan, kirim log ke Capgo AI 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 | Lebihkan pembangunan otomatis nomor / versi code |
--no-skip-build-number-bump | — | — | — | Memungkinkan 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
versionCodedari 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).
Upload Output
Bab 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 penyimpanan Capgo . 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 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).
Autentikasi
Judul Bagian “Autentikasi”| CLI Flag | Siaran Variabel Lingkungan | Baku | 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 Supabase anon yang Dibuat Sendiri (hanya untuk penggunaan sendiri) |
Referensi Siaran Variabel Lingkungan
Judul Bagian “Referensi Siaran Variabel Lingkungan”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
Judul 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 Pembangunan
Judul Bagian “Pengendalian 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”| Flag | Lokasi | Penggunaan Kasus |
|---|---|---|
| (default) | ~/.capgo-credentials/credentials.json | Global — digunakan bersama semua proyek di mesin Anda |
--local | .capgo-credentials.json di root proyek | Per-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).
Kelola Kredit yang Disimpan
Bab berjudul “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
contextGitHub Actions
Section titled “GitHub Actions”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 }}Bab berjudul “CLI Aksi”
Section titled “Using CLI Flags Directly”# 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
Bab yang berjudul “Konfigurasi Campuran”Gabungkan kredit yang disimpan dengan CLI override:
# 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 CLI flag menggantikan perilaku pembangunan untuk langkah ini.