Kompatibilitas Nama Lokal
Bagaimana Capgo mendeteksi perubahan paket nama lokal dan apa yang berarti tidak kompatibel untuk perangkat.
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sebuah pengaturan Capgo yang umum menggunakan sebuah dev saluran dan sebuah produksi saluran. CI mengunggah setiap bundle OTA ke dev, kemudian mempromosikan ke production ketika Anda sudah siap. Tim sering menambahkan --fail-on-incompatible agar CI tidak bisa mengirimkan pembaruan hidup yang memerlukan native code baru secara tidak sengaja.
Ini halaman yang menjawab pertanyaan lanjutan: apakah Anda harus melakukan apa ketika Anda secara sengaja membutuhkan bundle yang tidak kompatibel dengan native package saluran saat ini?
Jika Anda membutuhkan latar belakang mengapa Capgo membandingkan native package, mulai dengan Kompatibilitas Native. Untuk CI cabang penuh yang memilih OTA vs Capgo Build secara otomatis, lihat Auto OTA atau Native.
Panduan ini asumsikan Anda telah memiliki saluran yang sudah ada. Buatlah terlebih dahulu jika perlu: dev Tampilan terminal production Salin ke clipboard
npx @capgo/cli@latest channel add production com.example.appnpx @capgo/cli@latest channel add dev com.example.app| Upload biasa | Rilis internal / QA | Setiap push CI dari JS (dan dasar native yang sengaja) |
|---|---|---|
dev | dan | Saluran |
production | Pengguna Toko | Ditampilkan atau diunggah hanya ketika rilis siap |
--fail-on-incompatible adalah pilihan default yang baik pada kedua saluran untuk upload OTA sehari-hari. Ini membandingkan paket native di dalam bundle yang Anda unggah terhadap bundle yang sedang berjalan pada saluran tersebut. Jika mereka berbeda, proses unggah berakhir dengan kode keluaran non-nol dan tidak ada yang dikirim.
Ketika perubahan hanya JavaScript dan paket native sesuai dengan saluran:
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible mencegah pergeseran native secara tidak sengaja. --auto-min-update-version diperlukan pada setiap unggahan setelah saluran menggunakan strategi (direkomendasikan di bawah). Jika saluran belum digunakan, Anda dapat mengabaikan metadata hingga Anda beralih. metadata Pintu CI opsional sebelum unggahan: --auto-min-update-version Jendela terminal
Salin ke papan klip
npx @capgo/cli@latest bundle releaseType com.example.app --channel production# → OTA safe to upload with --fail-on-incompatible# → native stop; ship a native binary first (see below)mengganggu pergeseran native secara tidak sengaja. diperlukan pada setiap unggahan setelah saluran menggunakan strategi (direkomendasikan di bawah). Jika saluran belum digunakan, Anda dapat mengabaikan unggah sebuah bundle yang memerlukan code native baru sambil menjaga --fail-on-incompatibleitu. Flag tersebut ada untuk menghalangi kasus tersebut secara tepat. Ketika plugin, Capacitor versi, atau dependensi native lainnya berubah secara sengaja:
--fail-on-incompatible.--auto-min-update-version Setelah itu, unggah baseline metadata Setelah itu, unggah baseline upload, masukkan--fail-on-incompatible Kembali ke OTA CI normal (dan tetapkan) --auto-min-update-version Sementara saluran tetap pada metadata).Satu kali per saluran: aktifkan pengaturan metadata
npx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadataUlangi untuk dev Jika saluran tersebut juga menerima native baselines sengaja. Setelah perubahan ini, setiap unggahan ke saluran harus termasuk --auto-min-update-version atau --min-update-version.
Saluran harus tetap pada
Kirimkan binary native
Buat dan kirimkan aplikasi iOS/Android yang mencakup plugin baru atau perubahan native. Hingga pengguna menginstal binary tersebut, mereka tidak dapat menjalankan aman bundle yang bergantung pada paket native tersebut. --fail-on-incompatible)
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --auto-min-update-versionCatatan ini merekam paket native baru di saluran. Kemudian bundle releaseType / --fail-on-incompatible memeriksa menggunakan dasar tersebut.
Mulai kembali unggahan OTA yang dilindungi
Rilis JS-only berikutnya menggunakan kedua flag lagi:
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible Apakah saya bisa tetapBagian berjudul “Apakah saya bisa tetap --fail-on-incompatible dan masih bisa mengirimkan bundle yang tidak kompatibel dengan native?” --auto-min-update-version Tidak. Jika paket native upload berbeda dengan bundle live channel, flag tersebut akan gagal perintah secara sengaja. Untuk meningkatkan native secara sengaja, abaikan flag tersebut pada upload tersebut (dan gunakan
Iya. Cara tersebut adalah cara yang didukung untuk meningkatkan dasar native channel setelah Anda mengirimkan binary baru. Tetapkan flag pada setiap upload OTA lainnya agar pergeseran native tidak sengaja masih gagal CI.
dev pertama, kemudian production?Ya, jika itu sesuai dengan proses Anda. Jalankan aturan yang sama per saluran: cek kompatibilitas melawan apa yang sedang hidup di saluran target. Promosikan atau unggah ulang ke production hanya setelah dev terlihat baik, dan gunakan unggahan native-baseline (tidak --fail-on-incompatible) pada setiap saluran yang memerlukan paket native baru direkam.
CI gagal dan Capgo tidak mengirimkan unggahan tersebut. Itu adalah hasil yang diharapkan. Atau perubahan itu tidak sengaja (perbaiki paket native dan coba lagi sebagai OTA), atau itu sengaja (gunakan jalur native di atas).
| Rute | Ketika | Unggah bendera |
|---|---|---|
| OTA | JS-saja; paket native sesuai dengan saluran | --fail-on-incompatible + --auto-min-update-version (diperlukan jika saluran aktif) metadata) |
| Dasar native | Binari native baru + bundel JS yang sesuai | Tidak --fail-on-incompatible; jaga --auto-min-update-version |
Kompatibilitas Nama Lokal
Bagaimana Capgo mendeteksi perubahan paket nama lokal dan apa yang berarti tidak kompatibel untuk perangkat.
Auto OTA atau Nama Lokal
Kabel bundle releaseType Masukkan GitHub Aksi atau GitLab sehingga CI memilih jalur yang tepat.
Pencarian Versi
context: Halaman/area: Halaman pemasaran solusi Capgo. Peran: Judul bagian atau halaman. Dilihat di: halaman solusi/pencarian-versi.astro. Kunci pesan `solutions_version_targeting_title` (Judul Pencarian Versi Solusi). | Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/pencarian-versi.astro. Kunci pesan `solutions_version_targeting` (Pencarian Versi Solusi).
CLI: bundle
__CAPGO_KEEP_0__: paket
Jika Anda menggunakan Native + OTA Channel Workflow untuk menjaga pembaruan hidup aman di rilis native, hubungkannya dengan Native Compatibility untuk aturan perbandingan paket, Auto OTA atau Native untuk cabang CI, Versi Targeting context: Halaman/area: Halaman pemasaran solusi Capgo. Peran: Judul bagian atau halaman. Dilihat di: halaman solusi/versi-targeting.astro. Pesan kunci `solutions_version_targeting_title` (Judul Versi Targeting Solusi). | Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/versi-targeting.astro. Pesan kunci `solutions_version_targeting` (Versi Targeting Solusi). Capgo CLI bundle reference __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ referensi paket