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 cara yang berbeda. Ketika opsi yang sama diatur dalam beberapa tempat, sumber yang memiliki prioritas lebih tinggi akan 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 memasukkan SKIP_BUILD_NUMBER_BUMP=true pada flag __CAPGO_KEEP_0__, flag __CAPGO_KEEP_1__ akan 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 berjudul “Pilihan iOS”Code Signing
Bab berjudul “Code Signing”| 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 (lewatkan jika sertifikat tidak memiliki kata sandi) |
Autentikasi App Store Connect
Bab 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 Kunci App Store Connect __CAPGO_KEEP_0__ |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Base64-encoded App Store Connect API key (.p8 ID Tim App Store Connect |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | Tidak Dianjurkan |
Bagian berjudul “Penggunaan kata sandi aplikasi khusus (tidak dianjurkan)”
Penggunaan kata sandi aplikasi khusus (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 | — | 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 Nomorik (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 | Skenario Xcode untuk membangun |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Sasaran 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 | — | 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
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 layanan Google Play yang dikodekan dalam 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 dalam aplikasi Google Play untuk rilis ini (lebih tinggi = lebih mendesak). |
--no-playstore-upload | — | Buat dan tandatangani, tetapi lewati unggahan ke Toko Play (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 pencatatan build verbose |
--ai-analytics | false | Pada gagal build, kirim log ke Capgo AI untuk diagnosis — lihat Diagnosis Build AI |
Kontrol Nomor Build
Bagian berjudul “Kontrol Nomor Build”| Flag CLI | Variabel Lingkungan | Kunci Kredensial | Default | Deskripsi |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Lewatkan peningkatan otomatis nomor build / versi code |
--no-skip-build-number-bump | — | — | — | Mengaktifkan kembali secara eksplisit peningkatan otomatis (mengatasi kredit yang disimpan) |
Oleh default, Capgo Cloud Build secara otomatis meningkatkan nomor pembangunan:
- iOS: Mengambil nomor pembangunan terbaru dari App Store Connect, meningkatkan oleh 1
- Android: Mengambil maksimum
versionCodedari Google Play, meningkatkan oleh 1
Ketika --skip-build-number-bump diatur, pembangunan menggunakan versi yang sudah ada di file-file proyek Anda (Xcode project 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 build (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 build. 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 build 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. Minimal 1 jam, maksimal 7 hari. Ketika diatur melalui variabel lingkungan, gunakan detik (misal, 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 kustom (hanya self-hosting) |
--supa-anon <key> | — | — | Kunci anon Supabase kustom (hanya self-hosting) |
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 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 aplikasi multiple tanpa konflik. Kredensial setiap aplikasi kemudian dipisahkan oleh platform (ios / android).
Kelola Kreditensi yang Disimpan
Bagian berjudul “Kelola Kreditensi 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
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 CLI Flag Langsung
Bagian berjudul “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
Bagian berjudul “Konfigurasi Campuran”Gabungkan kredit penyimpanan dengan pengaturan CLI yang di atas:
# 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 mengatur perilaku pembangunan untuk langkah ini.