Rollout Progresif
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
A roll-out progresif menjaga saluran jangan diubah tetapi mengirimkan versi terpisah target bahasa peluncuran ke suatu kelompok perangkat yang dikendalikan. Pengguna produksi sebagian besar tetap pada stabil. Hanya kelompok peluncuran yang menerima kandidat sampai Anda Complete peluncuran atau Mengembalikan peluncuran.

How progressive rollouts bekerja dari awal hingga akhir
Bagian berjudul “How progressive rollouts bekerja dari awal hingga akhir”Masing-masing saluran dapat memiliki dua link bundle pada saat yang sama:
| Label konsol | API / CLI | Siapa yang menerima |
|---|---|---|
| Fallback stabil | Bundle stabil (version pada POST Channels) | Setiap perangkat pada saluran yang Tidak ada Tidak dalam kelompok peluncuran. |
| Target Peluncuran | Target Peluncuran (rolloutVersion / rollout_version) | Hanya perangkat Capgo memilih secara acak ke dalam kelompok peluncuran selama peluncuran diaktifkan enabled tidak berhenti dan tidak dihentikan. |
Apa yang terjadi pada setiap periksa update
Perangkat bertanya __CAPGO_KEEP_0__ untuk memperbarui saluran.- Perangkat meminta pembaruan dari Capgo di saluran perangkatnya.
- Jika peluncuran adalah disabledatau tidak ada target, Capgo melayani fallback stabil.
- Jika peluncuran diaktifkan dan and dihentikanperangkat yang sudah ada di kelompok tetap menerima target peluncuran; orang lain menerima fallback stabil.
- Jika peluncuran diaktifkan dan dan tidak berhenti, Capgo memeriksa apakah perangkat ini berada dalam kelompok peluncuran:
- Ini kelompok → target peluncuran.
- Tidak dalam kelompok → fallback stabil.
Capgo membuat keputusan acak untuk setiap perangkat yang layak, kemudian menyimpannya menggunakan hash ID perangkat dan ID peluncuran. Hal itu membuat kelompok menempel untuk durasi cache yang ditentukan bukannya meluncur ulang setiap kali periksa update.
aktifkan peluncuran
Judul bagian berjudul “Aktifkan rollout”Sebuah rollout memerlukan fallback stabil terlebih dahulu. Di dashboard, tentukan bundle stabil sebelum memilih target rollout. Dengan demikian Saluran Publik APISaluran yang sudah ada dapat menyediakan version dan rolloutVersion dalam permintaan POST yang sama.
dalam permintaan POST yang sama.
- Atur Rollout target atau unggah/assign bundle — lihat (atau unggah/tentukan bundle — lihat).
- Pilih Persentasi dan klik Aplikasikan persentasi.
- Klik Aktifkan rollout.
Sampai Anda mengaktifkan rollout, mengkonfigurasi target dan persentasi tidak mengubah perangkat mana yang menerima.
Persentasi berubah
Bab berjudul “Persentasi berubah”Pada konsol, edit persentasi dan klik Aplikasikan persentasi untuk menyimpannya. Capgo mempertahankan keputusan yang ada ketika memungkinkan:
- Meningkatkan persentasi — perangkat yang sudah dipilih tetap dipilih; hanya sebagian kecil perangkat yang belum dipilih sebelumnya yang ditambahkan.
- Turunkan persentase — sebagian kecil dari kelompok yang dipilih kembali ke fallback stabil.
- Setel persentase ke 0% — tidak ada perangkat baru yang dipilih. Perangkat yang sudah menjalankan target rollout yang diaktifkan terus menerima target tersebut sampai Anda menonaktifkan, mengembalikan, atau mengubah target.
- Berhenti Rilis — menghentikan perangkat baru dari memasuki sementara perangkat yang sudah menjalankan target yang diaktifkan tetap menjalankannya.
- Nonaktifkan rollout — menghentikan resolusi target rollout; periksa update menggunakan fallback stabil.
Upload dan asingkan bundle
Judul bagian “Upload dan asingkan bundle”Pada saluran with progressive rollout yang terkonfigurasi, unggahan baru dan tautan bundle pergi ke target rollout secara default. Fallback stabil tetap tidak berubah kecuali Anda secara eksplisit memilih untuk menggantinya.
Rute Unggah Default
Section titled “Default upload routing”| Judul bagian “Rute unggahan default” | Upload Standar / Tugas Default | Stabil fallback | Target rollout |
|---|---|---|---|
| Tidak Tidak ada konfigurasi rollout maju | Mendarat di saluran | Ditetapkan ke unggahan | Tidak ada |
| Konfigurasi rollout maju ada | Mendarat di saluran | Tidak berubah | Ditetapkan ke unggahan |
Jalur CLI dan API
Judul bagian “CLI dan API jalur”| Bagaimana Anda mengirimkan paket | Jatuh kembali yang stabil | Sasaran rollout | Catatan |
|---|---|---|---|
bundle upload --channel <name> (tidak ada flag tambahan) | Tidak berubah pada saluran rollout; set ketika tidak ada rollout | Set di saluran roll-out | pada saluran rollout |
bundle upload --channel <name> --rollout <percent> | Belum Diubah | Set; rollout ; peluncuran di persentase tersebut | pada persentase tersebut |
bundle upload --channel <name> --stable | Replaced | Belum Diubah | Keluar dari jalur — penggantian stabil sengaja. |
bundle upload with no --channel | Belum Diubah | Unchanged | Pendaftaran hanya; hubungkan dengan channel set atau API. |
| Dialog tautan konsol → Otomatis (direkomendasikan) | Unchanged pada saluran rollout | Pilih di saluran peluncuran | pada saluran rollout |
| Dialog tautan konsol → Pilihan default. | Unchanged | Mengatur | Target Rollout Tidak Langsung |
| Dialog Konsole → Ganti Versi Stabil | Sudah Diganti | Tidak Berubah | Kunci Darurat. |
PUT /bundle/ dengan target: "auto" | Tidak Berubah di Saluran Rollout | Mengatur di Saluran Rollout | API default. |
PUT /bundle/ dengan target: "rollout" | tetap | Set | Target Perilaku Rollout. |
PUT /bundle/ dengan target: "stable" | Replaced | tetap | Diperbarui (diganti). |
channel set --bundle <version> | Replaced | Tidak Berubah | Override stabil eksplisit. |
channel set --rollout-bundle <version> (+ --rollout-percentage, --rollout-enable) | Tidak Berubah | Ditetapkan atau berubah | Konfigurasi target tanpa mengunggah. |
POST Channel version | Digantikan ketika diatur | Tidak Berubah | Override stabil eksplisit. |
POST Channel rolloutVersion | Tidak Berubah | Set atau diubah ketika diatur | Pengasasan target programatik. |
Contoh CLI:
Judul Bagian: Contoh CLIUpload default pada saluran yang telah dikonfigurasi (target rollout; stabil tidak berubah):
bunx @capgo/cli@latest bundle upload com.example.app \ --path ./dist \ --channel productionUpload, atur target rollout, dan aktifkan pada 5%:
bunx @capgo/cli@latest bundle upload com.example.app \ --path ./dist \ --channel production \ --rollout 5Ubah stabil secara eksplisit:
bunx @capgo/cli@latest bundle upload com.example.app \ --path ./dist \ --channel production \ --stableMuat tanpa menghubungkan, kemudian atur rollout:
bunx @capgo/cli@latest bundle upload com.example.app --path ./dist -b 1.3.0
bunx @capgo/cli@latest channel set production com.example.app \ --rollout-bundle 1.3.0 \ --rollout-percentage 5 \ --rollout-enableAPI asingkan dengan target eksplisit (auto | stable | rollout):
curl -X PUT \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "version_id": 456, "channel_id": 789, "target": "rollout" }' \ https://api.capgo.app/bundle/Naikkan eksposur tanpa me-reseating perangkat yang sudah dipilih:
bunx @capgo/cli@latest channel set production com.example.app \ --rollout-percentage 25Gunakan --rollout-percentage-bps when you need finer steps than whole percents (for example 50 = 0.5%).
Lihat referensi saluran CLI referensi dan paket CLI referensi untuk setiap opsi peluncuran. UX konsol dikirimkan dalam capgo.app#3313.
Bab Peluncuran Langkah demi Langkah (dashboard)
Bab Peluncuran Langkah demi Langkah (dashboard)Buka aplikasi → Saluran → pilih saluran → Informasi → Rollout Progresif.
Bagian ini menampilkan Target Rollout dan Jatuh Tempo Stabil untuk dua tautan bundle. Gunakan Pilih Target Rollout yang Berbeda untuk memilih bundle kandidat yang berbeda. Setelah mengedit persentase, klik Aplikasikan Persentase untuk menyimpannya.
| Kontrol | Apa yang dilakukan | Perangkat yang sudah ada di kelompok | Perangkat baru yang layak |
|---|---|---|---|
| Ubah target peluncuran | Set rolloutVersionMengubahnya memulai ID peluncuran baru dan kelompok baru. Mengunggah atau menugaskan bundle ke saluran (default) juga menetapkan target peluncuran. | Tetapkan target sebelumnya sampai mereka memeriksa kembali dan sesuai dengan aturan keputusan baru. | Dipilih berdasarkan persentase terhadap target baru. |
| Terapkan persentase | Menyimpan persentase yang Anda masukkan. | Dipertahankan ketika Anda meningkatkan; subset acak mungkin meninggalkan ketika Anda menurunkan. | Ditambahkan atau dikecualikan berdasarkan aturan persentase di atas. |
| aktifkan roll-out | Mengaktifkan pengiriman roll-out untuk target yang dikonfigurasi dan persentase. | Tidak ada perubahan langsung hingga cek update berikutnya. | Mungkin dipilih pada cek berikutnya. |
| Jeda roll-out | Menghentikan perangkat baru dari memasuki. | Terus di target roll-out. | Penerima fallback stabil pada cek berikutnya. |
| Mulai kembali roll-out | Menghapus jeda. | Tidak berubah. | Mungkin dipilih lagi pada cek berikutnya. |
| Nonaktifkan rollout | Menghentikan penyelesaian target rollout; Capgo menggunakan fallback stabil untuk semua orang. | Pindah ke fallback stabil pada cek berikutnya. | Terima fallback stabil. |
Rollout selesai (API: promoteToStable; CLI: --rollout-promote) | Membuat target rollout menjadi fallback stabil baru, kemudian membersihkan status rollout. Dikonfirmasi oleh Rollout progresif selesai? — target menjadi stabil untuk semua orang, fallback stabil sebelumnya digantikan, dan persentase kembali ke nol. | Menjadi fallback stabil untuk semua orang. | Menerima bundle yang sudah selesai sebagai stabil. |
Mengembalikan peluncuran (API: rollback; CLI: --rollout-rollback) | Menghapus target, mematikan rollout, mengatur persentase kembali ke 0%, dan mengembalikan perangkat ke fallback stabil. | Kembali ke fallback stabil pada cek berikutnya. | Menerima fallback stabil. |
Pilih satu aksi terminal pada satu waktu (Rollout selesai dan Rollback rollout tidak dapat digabungkan dalam satu panggilan API):
# Stop adding devices while you investigatebunx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Allow new devices to enter againbunx @capgo/cli@latest channel set production com.example.app --rollout-resume
# Complete rollout — candidate becomes stable for everyonebunx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Rollback rollout — discard candidate and return to stablebunx @capgo/cli@latest channel set production com.example.app --rollout-rollbackTunggu sampai bundle target dapat diakses Rollout selesai or Rollback rolloutBundel yang terkait sebagai fallback stabil atau target rollout dilindungi dari penghapusan.
Alur kerja aman
Judul bagian berjudul “Alur kerja yang aman”Rollout progresif dirancang agar Anda dapat memvalidasi di produksi tanpa mengganti saluran seluruhnya sekaligus. Sebuah urutan yang praktis:
- Pastikan fallback stabil sehat. Itu harus versi yang Anda siapkan untuk tetap menyajikan kepada pengguna mayoritas.
- Unggah kandidat ke saluran yang telah dikonfigurasi untuk rollout (
bundle upload --channel <name>mendarat di Target rollout dan meninggalkan Fallback stabil sendiri) atau gunakan--rollout <small-percent>untuk memungkinkan akses di langkah yang sama. - Mulai kecil — 1–5% sudah cukup untuk sinyal pertama. Klik Aplikasikan persentase, kemudian Aktifkan rollout. Aktifkan pause otomatis jika Anda ingin Capgo berhenti mengekspos ketika tingkat kegagalan meningkat.
- Perhatikan sebelum Anda memperluas. Pakai Amati untuk kesehatan versi. Catatan Log untuk kesehatan versi, dan Sejarah tab untuk perubahan konfigurasi. Bandingkan target rollout dengan fallback stabil; jangan meningkatkan persentase sampai kohort terlihat sehat.
- Naikkan secara bertahap — edit persentase, klik Aplikasikan persentase, dan naikkan (misalnya 5% → 25% → 50% → 100%). Capgo menjaga perangkat yang sudah ada di kohort dipilih ketika Anda meningkatkan.
- Sampai dengan rollout lengkap ketika percaya diri — konfirmasi Apakah Anda ingin menyelesaikan rollout progresif? sehingga kandidat menjadi fallback stabil untuk semua.
- Jika ada yang salah, Hentikan rollout terlebih dahulu — menghentikan paparan baru sementara Anda menyelidiki. Perangkat yang sudah ada di build buruk tetap di atasnya sampai Anda Mengembalikan peluncuran atau Kembali ke versi sebelumnya.
Kebijakan pause otomatis
Judul bagian berjudul “Kebijakan pause otomatis”Capgo dapat mengevaluasi peluncuran yang diaktifkan setiap lima menit dan bertindak ketika sinyal gagalnya melewati ambang batas Anda. Ini mengukur instalasi dan gagal untuk target peluncuran di saluran yang dipilih dan jendela waktu, kemudian menggunakan batas kepercayaan Wilson daripada tingkat gagal yang mentah sendiri.
Pause otomatis dimatikan secara default. Konfigurasi lapangan-lapangan ini di tab saluran’s Info tab atau dengan channel set:
- Batasan tingkat kegagalan dalam menit (default: 60).
500= 5%). Diperlukan adalah batas untuk kebijakan tersebut dapat diaktifkan. - antara dalam menit (default: 60).
- Confidence between
0dan1(default:0.95). - Jumlah percobaan minimum dan gagal, untuk menghindari tindakan pada sampel kecil.
- Kurang Tertib dalam menit (default: 60), yang mencegah aksi yang berulang.
- Aksi:
pause,rollback, ataunotify.
pause menghentikan paparan rollout baru, rollback mengosongkan target dan kembali ke fallback stabil, dan notify mengirimkan peringatan rollout tanpa mengubah pengiriman rollout.
bunx @capgo/cli@latest channel set production com.example.app \ --auto-pause-enabled \ --auto-pause-failure-rate-bps 500 \ --auto-pause-window-minutes 60 \ --auto-pause-confidence 0.95 \ --auto-pause-min-attempts 100 \ --auto-pause-min-failures 5 \ --auto-pause-action pause \ --auto-pause-cooldown-minutes 120API dan pintasan dashboard
Bagian berjudul "API dan Poin Masuk Dashboard"- Dashboard: app → Saluran context Information → Rollout Progresif
- Saluran API: Public Channels API Untuk bidang peluncuran, promosikan, dan batalkan
- Saluran Publik API PUT
/bundle/dengantarget:auto,stable, ataurollout
Untuk pengaturan saluran umum dan prioritas perangkat, lihat SaluranUntuk pemulihan bundle darurat di luar roll-out progresif, lihat Mengembalikan ke versi sebelumnya sebuah live update.