Ingin menyederhanakan update app dan version control? Semantic Versioning (SemVer) dikombinasikan dengan Capgo’s Over-The-Air (OTA) updates makes managing Capacitor aplikasi jadi lebih mudah dan cepat. Begini caranya:
-
Dasar-dasar Semantic Versioning: Versi menggunakan format
MAJOR.MINOR.PATCH:- MAJOR: Untuk breaking changes.
- MINOR: Untuk fitur baru yang tetap backward-compatible.
- PATCH: Untuk perbaikan bug.
-
Mengapa Pakai SemVer dengan Capgo?
- Komunikasi update yang jelas.
- Manajemen versi lebih cerdas.
- Hindari konflik dependensi.
- Perencanaan rilis terorganisir.
-
Setup Capgo Steps:
- Install plugin updater Capgo.
- Konfigurasi versi app Anda di
capacitor.config.jsondan file lainnya. - Inisialisasi dengan key API Anda.
- Gunakan Capgo CLI untuk bundle dan upload update.
-
- Gunakan channel terpisah (misal: “beta” untuk testing, “production” untuk rilis stabil).
- Kontrol kebijakan update (auto-update patch, persetujuan manual untuk perubahan major).
- Opsi rollback jika update gagal.
-
Proses Deployment:
- Perbarui nomor versi sesuai aturan SemVer.
- Test secara menyeluruh sebelum deploy.
- Gunakan perintah CLI untuk upload dan distribusi update.
Capgo memastikan update sampai ke user dengan cepat dan reliabel, lengkap dengan tools untuk menangani gangguan dan menjaga stabilitas. Cocok untuk tim yang menggunakan workflow CI/CD untuk otomatisasi update.
Tips Cepat: Selalu test update dan gunakan channel untuk mengelola staged rollout secara efektif.
Semantic Versioning | Level Up
Capgo Panduan Setup

Begini cara setup Capgo untuk mengelola OTA updates dan version control dengan mudah.
Langkah Setup Awal
Mulai dengan menginstal plugin updater Capgo:
npm install @capgo/capacitor-updater
npx cap sync
Make sure your capacitor.config.json file Anda menggunakan format semantic version:
{
"appId": "com.example.app",
"appName": "My App",
"version": "1.0.0"
}
Untuk proyek lama, update detail versi di lokasi berikut:
package.json(cari bagianversionfield)android/app/build.gradle(perbaruiversionName)ios/App/App.xcodeproj/project.pbxproj(perbaruiCURRENT_PROJECT_VERSION)
Setelah dikonfigurasi, inisialisasi Capgo dengan API key Anda:
npx @capgo/cli@latest init YOUR_API_KEY
Tabel Referensi Cepat:
| Fase Setup | Aksi Utama | Langkah Verifikasi |
|---|---|---|
| Instalasi | Install plugin dan sync | Cek package.json |
| Konfigurasi | Atur nomor versi | Verifikasi di semua file |
| Inisialisasi | Hubungkan dengan kunci API | Tes status koneksi |
| Build | Buat bundle awal | Konfirmasi upload berhasil |
Integrasi Version Control
Capgo bekerja baik dengan platform CI/CD, membuat update otomatis sederhana. Platform yang didukung meliputi:
Jika Anda sedang melakukan pengembangan lokal, Anda bisa menonaktifkan auto-updates dengan menambahkan ini ke konfigurasi Anda:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Ini memastikan Capgo tidak akan menimpa perubahan lokal Anda. Setelah setup siap, upload versi pertama Anda:
npx @capgo/cli@latest bundle upload
npx @capgo/cli@latest channel set production -s default
Terakhir, beri tahu native plugin mengenai status bundle di file utama aplikasi Anda:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.notifyAppReady();
Setup ini memastikan aplikasi Anda siap untuk deployment OTA dan manajemen versi yang lancar.
Menggunakan Semantic Versioning dengan Capgo
Manajemen Nomor Versi
Capgo menggunakan Semantic Versioning (SemVer) untuk mengelola versi aplikasi, dengan format MAJOR.MINOR.PATCH. Berikut cara kerjanya:
- Versi Major (X.0.0): Naikkan angka MAJOR untuk perubahan yang merusak kompatibilitas (breaking changes).
- Versi Minor (1.X.0): Naikkan angka MINOR untuk fitur baru yang tetap kompatibel.
- Versi Patch (1.0.X): Naikkan angka PATCH untuk perbaikan bug yang tidak memengaruhi kompatibilitas.
| Tipe Versi | Kapan Harus Increment | Perilaku Auto-Update |
|---|---|---|
| Major (X.0.0) | Untuk perubahan API yang breaking | Butuh persetujuan manual |
| Minor (1.X.0) | Untuk fitur baru | Bisa dikonfigurasi di Capgo |
| Patch (1.0.X) | Untuk perbaikan bug | Biasanya otomatis |
Dengan mengikuti aturan SemVer, Anda bisa menyederhanakan manajemen versi dan memastikan update yang lebih lancar di semua deployment channel.
Panduan Version Control
Capgo memungkinkan Anda mengelola deployment secara efektif dengan mengatur channel berbeda untuk setiap tahap workflow Anda.
-
Manajemen Versi Berbasis Channel: Atur proses deployment Anda dengan membuat channel terpisah untuk testing dan production. Contohnya:
- Gunakan channel “beta” (misal: 1.2.0-beta) untuk testing fitur baru.
- Gunakan channel “production” (misal: 1.2.0) untuk rilis yang stabil.
- Tambahkan channel spesifik platform (misal: “ios-hotfix” versi 1.2.1) saat menangani masalah khusus platform.
-
Konfigurasi Kebijakan Update: Kontrol cara update diterapkan menggunakan opsi konfigurasi Capgo. Contohnya:
{ "plugins": { "CapacitorUpdater": { "disableAutoUpdate": "minor" } } }Setup ini memastikan user otomatis menerima patch update, sementara minor dan major update memerlukan persetujuan manual.
-
Strategi Rollback Versi: Gunakan pre-release identifier untuk menjaga opsi rollback yang jelas. Pendekatan ini memungkinkan Anda revert ke versi sebelumnya jika terjadi masalah, sambil menjaga konsistensi versioning di semua channel.
Praktik terbaik ini memudahkan pengelolaan update, pengujian fitur baru, serta menjaga stabilitas dalam proses deployment aplikasi Anda.
sbb-itb-f9944d2
Deployment OTA Update
Setelah setup manajemen versi siap, ikuti langkah-langkah ini untuk deploy OTA update secara efektif.
Persiapan Update
Mulai dengan memperbarui versi di package.json dan file capacitor.config.json,. Pastikan versinya mengikuti format SemVer (MAJOR.MINOR.PATCH):
- Perbaikan Bug: Naikkan angka PATCH (contoh: 1.0.1 → 1.0.2)
- Fitur Baru: Naikkan angka MINOR (contoh: 1.0.0 → 1.1.0)
- Perubahan Breaking Change: Naikkan angka MAJOR (misal, 1.0.0 → 2.0.0)
Uji build Anda secara menyeluruh dan pastikan aplikasi terhubung ke server menggunakan notifyAppReady.
Selanjutnya, tentukan strategi update Anda. Anda bisa memilih:
- Auto-Update: Terapkan persyaratan versi minimum secara otomatis.
- Kontrol Manual: Tentukan persyaratan versi spesifik untuk update.
- Channel-Based: Gunakan channel untuk testing dan staged rollouts.
Perintah Capgo CLI Update
Gunakan CLI dari Capgo untuk deploy update dengan mudah. Begini caranya:
# Initialize Capgo in your project
npx @capgo/cli@latest init [apikey]
# Upload your update bundle
npx @capgo/cli bundle upload [appId]
# Add a new distribution channel
npx @capgo/cli channel add [channelName] [appId]
Capgo menjamin deployment aman dengan end-to-end encryption dan manajemen key yang aman.
“@Capgo adalah cara cerdas untuk melakukan hot push code (dan tidak semahal @AppFlow) 🙂”
Setelah dideploy, Anda bisa memantau update melalui dashboard Capgo. Update biasanya sampai ke user dalam hitungan menit setelah mereka membuka aplikasi. Prosesnya seperti ini:
- Aplikasi mengecek ketersediaan update.
- Download update di background.
- Menandai versi baru sebagai aktif saat user keluar dari aplikasi.
- Menerapkan update pada saat aplikasi dibuka berikutnya.
Untuk deployment skala enterprise, Anda mungkin perlu mengintegrasikan otomatisasi CI/CD.
“Kami menerapkan agile development dan @Capgo sangat krusial untuk pengiriman fitur secara kontinu ke user kami!”
Troubleshooting dan Tips
Masalah Manajemen Versi
Mengelola semantic versioning di Capgo terkadang bisa memperumit deployment update. Agar tidak menimpa hasil development Anda, konfigurasikan hal berikut di capacitor.config.json file:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Jika update gagal, berikut langkah yang bisa Anda lakukan:
- Atur
autoUpdatekefalseselama masa development. - Uninstall aplikasinya.
- Install ulang dengan versi yang sudah diperbaiki.
- Aktifkan kembali auto-updates setelah semuanya stabil.
Untuk update versi major, gunakan disableAutoUpdateBreaking flag and listen for the majorAvailable event untuk menangani update dengan benar:
CapacitorUpdater.addListener('majorAvailable', (info) => {
console.log(`Major update available: ${info.version}`);
// Add your update prompt logic here
});
Dengan menggabungkan konfigurasi ini dan praktik tim yang baik, Anda dapat menjaga konsistensi versi dan mengurangi error.
Version Control Tim
Setelah update individu dikelola, sangat penting bagi tim untuk menetapkan praktik version control yang kuat.
“Menguji setiap perubahan sebelum melakukan merge ke main repository akan memperkuat stabilitas dan menghindari error yang fatal” [4]
Berikut adalah beberapa metode untuk menjaga konsistensi:
- Tentukan satu branch sebagai repositori utama untuk menjadi source of truth.
- Gunakan channel Capgo yang terpisah untuk environment development dan production.
- Otomatiskan upload versi melalui pipeline CI/CD.
- Dokumentasikan semua perubahan code dengan commit message yang jelas dan detail.
Untuk tim yang lebih besar, matriks manajemen versi berikut dapat membantu mengatur update:
| Environment | Channel | Auto-Update | Version Pattern |
|---|---|---|---|
| Pengembangan | dev | Disabled | 0.x.x |
| Staging | beta | Enabled | x.x.x-beta |
| Produksi | stabil | Aktif | x.x.x |
Langkah Pemulihan Update
Meski sudah berhati-hati, update bisa saja gagal. Jika terjadi, ikuti langkah pemulihan ini:
- Roll back ke bundle stabil sebelumnya.
- Naikkan nomor versi untuk setiap perbaikan baru (catatan: nomor versi tidak bisa digunakan kembali setelah dihapus) [2].
- Verifikasi update saat app startup untuk memastikan semuanya berjalan lancar.
Updater Capgo dirancang untuk menangani gangguan. Misalnya, jika server tidak dapat dijangkau atau update dihapus, app akan tetap berfungsi normal [3]. Selain itu, request jaringan yang gagal akan otomatis dicoba kembali saat app dibuka berikutnya [3]. Ketahanan bawaan ini meminimalkan downtime dan memastikan operasional yang lebih lancar.
Ringkasan
Semantic Versioning, dikombinasikan dengan Capgo, membuat OTA updates untuk aplikasi Capacitor jadi lebih efisien. Dengan 947,6 juta update terkirim dan 1.400 aplikasi produksi yang memakai sistem ini [1], proses deployment jadi 81% lebih efisien [1]. Setup ini memungkinkan developer push update dengan cepat dan terkendali, melewati delay app store.
Berikut kata para developer:
“Kami merilis Capgo OTA updates di produksi untuk basis pengguna kami yang +5000. Operasinya sangat lancar, hampir semua user kami up-to-date dalam hitungan menit setelah OTA di-deploy ke @Capgo.” - colenso [1]
Sistem versioning MAJOR.MINOR.PATCH memudahkan komunikasi soal breaking changes, fitur baru, dan bug fix [5]. Ini sangat membantu tim yang mengelola beberapa rilis tiap minggu lewat platform Capgo.
Capgo’s solusi terenkripsi, terintegrasi dengan tools CI/CD, juga hemat biaya - menghemat hingga $26.100 selama lima tahun [1]. Channel yang dapat dikustomisasi memastikan update sampai ke user yang tepat pada waktu yang tepat.
“Kami menerapkan agile development dan @Capgo sangat krusial untuk pengiriman berkelanjutan ke pengguna kami!” - Rodrigo Mantica [1]
Lanjutkan dari Cara Menggunakan Semantic Versioning dengan Capgo OTA Updates
Jika Anda menggunakan Cara Menggunakan Semantic Versioning dengan Capgo OTA Updates untuk merencanakan rollback dan version control, hubungkan dengan Rollback untuk detail implementasi pada Rollbacks, Targeting Versi untuk detail implementasi pada Version Targeting, Perilaku Update untuk detail implementasi pada Update Behavior, bundle untuk detail implementasi pada bundle, dan Capgo Live Updates untuk workflow produk di Capgo Live Updates.