Langsung ke konten

Checklist setup satu kali

You finished onboarding. Sekarang konfigurasi Capgo sekali. Setelah itu, alur kerja harian hanya upload → test → deploy.

Aturan: channel adalah jalur rilis (development, production), bukan tiket, fitur, atau nama developer.


  1. Buat channel: pilih set terkecil yang sesuai (lihat di bawah).

  2. Atur channel upload default di pengaturan aplikasi:

    • Aplikasi solo → production
    • Team → development
  3. Channel produksi: public on, device self-set off, block updates under native on, auto-update guard on major.

  4. Uji channel (development / staging): public off, device self-set on untuk QA.

  5. Upload dari CI dengan --delta (checksum dan native dependencies otomatis):

    Jendela terminal
    npx @capgo/cli@latest bundle upload \
    --channel development \
    --bundle "1.8.0-${BUILD_NUMBER}" \
    --comment "commit ${GIT_SHA:0:7} run ${CI_RUN_ID}" \
    --delta

    Panduan --bundle nilai harus harus valid semantic versioning. Validasi di dalam Tester SemVer sebelum Anda upload.

  6. Deploy ke production hanya setelah testing, dari dashboard atau CLI.

  7. Tim & keamanan: undang sekali, izin minimal, 2FA untuk org, satu kunci API di CI.

Biarkan enkripsi, min_update_version, metadata, dan preview nonaktif kecuali ada alasan jelas.


Simpel: 1 app, 1 channel: production

Tim: development + production. Upload ke dev, deploy ke prod.

Versi Native: tambah channel hanya saat butuh, misal production-9.0 + test-9.0. Jaga user store di channel produksi utama.

Banyak app: model simpel yang sama per app (biasanya satu production tiap app). Jangan buat channel ekstra hanya karena org besar.

Jadwal rilis (opsional): staging → rc → production. Gunakan template yang sama untuk setiap aplikasi.


Nama bundle adalah wajib mengikuti semantic versioning. Capgo menggunakan semver untuk pengecekan kompatibilitas, aturan auto-update channel, dan rollback. Validasi setiap nama di Tester SemVer sebelum upload.

  • Nama = semver dari CI, misal 1.8.0, 1.8.0-beta.1, atau 1.8.0-20260629.42
  • Komentar = teks bebas untuk manusia → commit abc1234 run 28059070270

Gunakan semver pre-release label (bagian setelah -) saat Anda merilis banyak build dengan MAJOR.MINOR.PATCH. Contohnya, tetap gunakan 1.8.0 dan tambahkan tanggal atau build counter pada pre-release: 1.8.0-20260629.1, 1.8.0-beta.2. Jangan buat format kustom seperti fix-login-bug atau 2.5.2026062306. Format tersebut tidak valid secara semver dan upload akan gagal atau tidak terprediksi.

Masukkan release notes di --comment, bukan di nama bundle.

Lihat juga penargetan versi dan versioning bundle.


--delta upload file delta sehingga perangkat hanya download file yang berubah, bukan seluruh bundle setiap saat. Checksum selalu dihitung otomatis. Anda tidak perlu menyertakan flag checksum.

Jendela terminal
npx @capgo/cli@latest bundle upload \
--channel development \
--bundle "1.8.0-${BUILD_NUMBER}" \
--delta

Ini adalah default yang direkomendasikan untuk sebagian besar aplikasi. Capgo menyimpan file delta dan dan menyimpan zip lengkap sebagai backup. Perangkat dengan versi plugin lama tanpa dukungan Delta akan menggunakan zip. Cocok jika biaya storage bukan prioritas utama.

Jendela terminal
npx @capgo/cli@latest bundle upload \
--channel development \
--bundle "1.8.0-${BUILD_NUMBER}" \
--comment "commit ${GIT_SHA:0:7} run ${CI_RUN_ID}" \
--delta-only

Gunakan --delta-only saat Anda ingin mengurangi penyimpanan Capgo. Hanya file delta yang disimpan, bukan file zip lengkap. Pilih opsi ini untuk aplikasi besar atau volume upload tinggi agar penyimpanan tidak membengkak.

Konsekuensi: tanpa backup zip di server, Anda sepenuhnya bergantung pada file delta, dan perangkat dengan versi plugin lama tanpa dukungan Delta tidak bisa update. Lewati --delta-only kecuali jika Anda memang butuh penghematan penyimpanan.

Tidak perlu konfigurasi plugin tambahan di perangkat. Updater akan membaca daftar file delta dan hanya mengambil file yang berubah saja.


Upload to development (--delta)
→ test
→ deploy to production
→ don't touch channel settings again

KesalahanSolusi
Mengharapkan OTA sebelum rilis store baruRebuild dan rilis native app setelah tambah plugin
Upload bundle tapi tidak deploy ke channelAssign bundle ke sebuah channel (misal. production)
Channel per fitur, tiket, atau developerGunakan permanent release lanes saja
Nama channel CI yang dinamisNama tetap: development, production
Terlalu banyak channel untuk app sederhanaMulai dengan 1-2 channel
Device self-set di productionOff untuk production, on untuk channel test
Skip --deltaTambah --delta untuk upload; gunakan --delta-only hanya saat ingin menghemat storage
Nama bundle non-semverIkuti semantic versioning dan validasi di Penguji SemVer
Mengubah skema versioning seiring waktuTetap gunakan semver; pakai label pre-release untuk build tambahan (1.8.0-20260629.1)
Metadata / preview aktif tanpa alasanMatikan secara default