Ingin menyederhanakan update aplikasi 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 aplikasi 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:
- Update 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 menyiapkan Capgo untuk mengelola update OTA 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, perbarui 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 | Periksa package.json |
| Konfigurasi | Atur nomor versi | Verifikasi di semua file |
| Inisialisasi | Hubungkan dengan key API | Tes status koneksi |
| Build | Buat bundle awal | Konfirmasi upload berhasil |
Integrasi Version Control
Capgo bekerja dengan baik bersama 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. Begini cara kerjanya:
- Versi Major (X.0.0): Naikkan angka MAJOR untuk perubahan yang merusak kompatibilitas.
- 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 Menaikkan Versi | 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 Anda.
Panduan Kontrol Versi
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.
- Pertahankan channel “production” (misal: 1.2.0) untuk rilis stabil.
- Tambahkan channel khusus 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 agar opsi rollback tetap jelas. Pendekatan ini memungkinkan Anda revert ke versi sebelumnya jika ada masalah, sambil menjaga konsistensi versioning di semua channel.
Praktik terbaik ini memudahkan pengelolaan update, pengujian fitur baru, dan 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 capacitor.config.json. Pastikan versi 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: 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 update OTA yang lebih baik. Anda bisa memilih:
- Pembaruan Otomatis: Terapkan persyaratan versi minimum secara otomatis.
- Kontrol Manual: Tentukan persyaratan versi spesifik untuk update.
- Berbasis Channel: Gunakan channel untuk testing dan rollout bertahap.
Perintah Update Capgo CLI
Gunakan CLI dari Capgo untuk deploy update Anda 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 memastikan deployment aman dengan end-to-end encryption dan pengelolaan key yang aman.
“@Capgo adalah cara cerdas untuk melakukan push code secara hot (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.
- Mengunduh 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 terus memberikan update ke pengguna 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 Anda:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Jika update gagal, berikut langkah yang bisa Anda lakukan:
- Atur
autoUpdatekefalseselama development. - Uninstall aplikasinya.
- Install ulang dengan versi yang benar.
- 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 untuk Tim
Setelah update individu terkelola, 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 memastikan konsistensi:
- Tentukan satu branch sebagai repositori utama untuk bertindak sebagai 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 mengelola update:
| Environment | Channel | Pembaruan Otomatis | Version Pattern |
|---|---|---|---|
| Pengembangan | dev | Nonaktif | 0.x.x |
| Panggung | beta | Aktif | x.x.x-beta |
| Produksi | stable | 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 stable 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 sesuai harapan.
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 dijalankan berikutnya [3]. Ketahanan bawaan ini meminimalkan downtime dan memastikan operasional yang lebih lancar.
Ringkasan
Semantic Versioning, dikombinasikan dengan Capgo, telah membuat OTA updates untuk aplikasi Capacitor jadi lebih efisien. Dengan 947,6 juta update yang terkirim dan 1.400 aplikasi produksi yang menggunakan sistem ini [1], proses deployment menjadi 81% lebih efisien [1]. Setup ini memungkinkan developer untuk push update dengan cepat dan terkendali, tanpa perlu menunggu delay dari app store.
Inilah kata para developer:
“Kami merilis Capgo pembaruan OTA di produksi untuk basis pengguna kami yang mencapai +5000. Operasional berjalan sangat lancar, hampir semua user kami sudah up-to-date dalam hitungan menit setelah OTA di-deploy ke @Capgo.” - colenso [1]
Sistem versioning MAJOR.MINOR.PATCH memudahkan komunikasi terkait breaking changes, fitur baru, dan bug fixes [5]. Hal ini sangat membantu tim yang mengelola beberapa rilis setiap minggunya melalui platform Capgo.
Capgo solusi terenkripsi, yang terintegrasi dengan tools CI/CD, juga hemat biaya - memangkas biaya hingga $26.100 selama lima tahun [1]. Channel yang dapat disesuaikan 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 di Rollbacks, Targeting Versi untuk detail implementasi di Version Targeting, Perilaku Update untuk detail implementasi di Update Behavior, bundle untuk detail implementasi di bundle, dan Capgo Live Updates untuk workflow produk di Capgo Live Updates.