Tim biasanya memilih salah satu dari tiga pendekatan untuk lingkungan mobile:
- Dua ID aplikasi (produksi + pra-produksi)
- Satu ID aplikasi + switching lingkungan runtime dinamis
- Satu ID aplikasi + Capgo saluran
The first two can work, but they create long-term friction. In real teams, the Capgo channel model is usually the cleanest.
Mengapa ID aplikasi duplikat menjadi bising
Menggunakan com.myapp dan com.myapp.beta seem sederhana, tapi Anda akan cepat mendapatkan duplikasi:
- Dua alur rilis
- Dua set ID push, tautan dalam, dan pemetaan hak akses
- Dua identitas analitik dan crash
- Diferensiasi konfigurasi dan perilaku tidak konsisten antara lingkungan
Kamu akhirnya harus mengelola dua produk di konsol toko, tim, dan instruksi QA internal.
Mengapa pengaturan waktu eksekusi sering kali berantakan
Gaya pola “ID aplikasi + switch runtime” biasanya berarti aplikasi membaca variabel lingkungan atau flag pada startup dan mengarahkan API, kunci, dan perilaku pembaruan secara dinamis.
Ini berfungsi sampai:
- QA mulai menghindari alur yang dimaksud karena status konfigurasi sudah ketinggalan zaman.
- Seseorang menggunakan endpoint yang salah di produksi.
- Drift lingkungan menyebabkan bug sulit untuk direproduksi.
- Kamu perlu debug “versi konfigurasi mana yang digunakan oleh binary ini?” di perangkat pengguna.
Kompleksitas ini semakin meningkat dengan setiap rilis dan di mana tim kehilangan kecepatan.
Cara Capgo : satu ID aplikasi, banyak saluran
Capgo membuat kendali lingkungan eksplisit melalui saluran:
- Simpan satu ID aplikasi produksi di App Store / Play.
- Kirim satu biner asli untuk “shell” (sampai perubahan asli memerlukan rebuild yang benar).
- Rute perilaku melalui saluran, bukan melalui identitas aplikasi yang diulang.
Dalam prakteknya, ini berarti:
production: semua penggunastaging: QA internal dan kandidat rilisbeta: tester yang diundanghotfix: jalur pembaruan darurat
Aplikasi pengujian internal Anda di TestFlight/Play dapat tetap selamanya. staging Anda dapat melakukan pembaruan JS/CSS/asset di sana secara berulang melalui Capgo tanpa mempublikasikan aplikasi asli baru.
Struktur yang disarankan dalam praktek
1) Basis rilis asli
Binari native terakhir Anda tetap sama untuk banyak iterasi JS:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Anda hanya membangun kembali binari native ketika Anda benar-benar mengubah area permukaan native.
2) Gunakan saluran dedikasi untuk lingkungan
Publikasikan update dengan saluran:
bun run build
bunx @capgo/cli deploy --channel staging
Jalankan tes di QA, perbaiki masalah, lalu promosikan:
bunx @capgo/cli promote vX.Y.Z --channel production
Jika Anda lebih suka versi eksplisit:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Simpan TestFlight 'selalu pre-prod'
Dalam alur kerja iOS, ini berarti build TestFlight Anda dapat tetap terkait dengan update pre-produksi:
- Tidak ada pengiriman native sering untuk setiap perubahan JS.
- QA selalu memvalidasi dekat-produksi code melalui saluran pengujian.
- Pengguna produksi hanya menerima saluran bundle produksi yang dipromosikan.
4) Gunakan penggantian saluran hanya untuk alur kerja yang dikendalikan
Untuk tim yang maju, tunjukkan switch kanal yang dikendalikan untuk pengguna QA/admin:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setChannel({
channel: 'staging',
triggerAutoUpdate: true
});
Ini optional. Banyak tim menggunakan pengaturan kanal dari dashboard dan hanya mengganti kanal untuk pengguna internal, bukan semua pelanggan.
Daftar Pemeriksaan Operasional
- Hanya satu ID aplikasi (tidak ada duplikat ID produksi/staging)
- Hanya satu pipeline pembangunan native dasar
- Peta kanal yang terdokumentasi (
staging,beta,production,hotfix) - Jalan promosi yang ditetapkan dalam CI/CD
- Hanya membangun ulang native jika ada perubahan native yang sebenarnya
- Rollback diuji secara teratur
Manfaat Praktis
Metode ini menghilangkan perubahan lingkungan, mengurangi perubahan pembangunan, dan mempercepat penyelesaian masalah:
- QA mendapatkan biner yang realistis (tidak ada identitas
- Jalur uji coba Anda tetap stabil,
- Tim Anda menghindari
- Kamu bisa memasukkan banyak perbaikan JavaScript melalui Capgo dengan cepat.
Hasilnya adalah pengelolaan yang lebih sederhana: lebih sedikit artefak, telemetri yang lebih bersih, dan lebih sedikit kejutan dalam operasi rilis.
Teruskan dari Capgo Environment Best Practices: Staging dengan Satu ID Aplikasi Mobile
Jika Anda menggunakan Capgo Environment Best Practices: Staging dengan Satu ID Aplikasi Mobile untuk merencanakan routing saluran dan peluncuran yang dipersiapkan, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Solusi Uji Coba Beta untuk alur produk di Solusi Uji Coba Beta, dan Solusi Target Versi untuk alur produk di Solusi Target Versi.