Opsi Konfigurasi
Salin 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
Judul bagian “Prioritas Konfigurasi”Setiap opsi bangun dapat diatur dalam cara yang berbeda. 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 kredit yang disimpan Anda memiliki SKIP_BUILD_NUMBER_BUMP=true tetapi Anda memasukkan --no-skip-build-number-bump pada CLI, flag CLI menang dan nomor pembangunan akan di-otomatisasi.
Pilihan iOS
Bagian berjudul “Pilihan iOS”Code Signing
Judul Bagian “Code Signing”| CLI Flag | Sementara Lingkungan | Kunci Kredensial | 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
Judul Bagian “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 ID Kunci |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | App Store Connect ID Pengemudian (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Base64-encoding App Store Connect API kunci (.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 (tidak disarankan)
Bab berjudul “Penggunaan kata sandi aplikasi (tidak disarankan)”| Bendera CLI | 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 (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 numerik (misalnya 1234567890) |
Pengaturan Build iOS
Bagian berjudul “Pengaturan Build iOS”| CLI Flag | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Skenario 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 | Modus Distribusi: app_store atau ad_hoc |
Opsi Android
Bagian berjudul “Opsi Android”Tanda Tangan Keamanan Keystore
Bagian berjudul “Penandatanganan Keystore”| CLI Flag | Siaran 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 ditentukan) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Kata sandi penyimpanan keystore |
Konfigurasi Google Play
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 dalam Base64 |
| (hanya lingkungan) | PLAY_STORE_TRACK | — | internal | Jalur Rilis Google Play (internal, alpha, beta, production) |
| (hanya lingkungan) | PLAY_STORE_RELEASE_STATUS | — | draft | Status Rilis pada Jalur yang Dipilih (draft, completed, inProgress, halted) |
Pengaturan Pembangunan Android
Bagian berjudul “Pengaturan Pembangunan Android”| CLI Flag | Default | Deskripsi |
|---|---|---|
--android-flavor <flavor> | — | Rasa produk untuk dibangun (misalnya production). Diperlukan Jika proyek Anda mendefinisikan beberapa rasa. |
--in-app-update-priority <0–5> | — | Prioritas pembaruan dalam 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 Kontrol Pembangunan
Bagian berjudul “Opsi Kontrol Pembangunan”Opsi-opsi ini berlaku untuk pembangunan baik iOS maupun Android.
Mode Pembangunan
Judul Bagian “Mode Pembangunan”| CLI Flag | Default | Pengenalan |
|---|---|---|
--platform <platform> | — | Diperlukan. ios atau android |
--build-mode <mode> | release | debug atau release |
--path <path> | . | Direktori Proyek |
--verbose | false | Aktifkan logging pembangunan yang rinci |
--ai-analytics | false | Pada kegagalan pembangunan, kirim log ke Capgo AI untuk diagnosis — lihat Diagnosis Pembangunan AI |
Kontrol Nomor Pembangunan
Judul Bagian “Kontrol Nomor Pembangunan”| CLI Flag | Siaran Variabel Lingkungan | Kunci Kredensial | Default | Pengenalan |
|---|---|---|---|---|
--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 | — | — | — | Nonaktifkan secara eksplisit auto-increment (mengalahkan kredit yang disimpan) |
Dengan default, Capgo Cloud Build secara otomatis meningkatkan nomor pembangunan:
- iOS: Mengambil nomor pembangunan terbaru dari App Store Connect, meningkatkan dengan 1
- Android: Mengambil maksimum
versionCodedari Google Play, ditambahkan 1
Ketika --skip-build-number-bump dipasang, pembangunan menggunakan versi yang sudah ada di file proyek 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 | Muat output 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 | — | — | Matikan unggah output. 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: Gunakan 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 disesuaikan (hanya untuk penggunaan sendiri) |
--supa-anon <key> | — | — | Kunci anon Supabase yang disesuaikan (hanya untuk penggunaan sendiri) |
Referensi Variabel Lingkungan Cepat
Bab berjudul “Referensi Variabel Lingkungan Cepat”Siapkan untuk dipasang di 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"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
Bagian berjudul “Simpan Kredensial 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 — bersamaan di semua proyek di mesin Anda |
--local | .capgo-credentials.json di root proyek | Per-proyek — mengalahkan global ketika kedua ada |
Kredensial dikunci oleh ID aplikasi (misalnya com.example.myapp), sehingga file kredensial tunggal dapat menyimpan pengaturan untuk aplikasi berbeda tanpa konflik. Kredensial setiap aplikasi lebih lanjut dipisahkan oleh platform (ios / android).
Buat Kredensial Tersimpan
Bagian berjudul “Buat Kredensial Tersimpan”# 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
Bagian berjudul “Contoh”GitHub Aksi
Bagian berjudul “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 }}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 kreditensi yang disimpan dengan CLI pengaturan pengganti:
# 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 2dKreditensi yang disimpan menyediakan detail tanda tangan sementara CLI flag mengatur perilaku pembangunan untuk langkah ini.