Progressive Rollouts
Ein kopierbarer Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin erstellen.
A progressive rollout hält die stabile Veröffentlichung eines Kanals stable bundle am Platz, während eine separate rollout target Ziel an einem kontrollierten Teil der Geräte geliefert wird. Es ist nützlich, wenn Sie eine echte Produktionsvalidierung ohne das Wechseln des gesamten Kanals wollen.

How progressive Rollouts funktionieren
Abschnitt mit dem Titel “Wie progressive Rollouts funktionieren”Jeder Kanal kann zwei Veröffentlichungslinks haben:
- Stabile Veröffentlichung — die normale Veröffentlichung, die dem Kanal zugewiesen ist.
- Zielgruppe — der Kandidatenbundle, das allmählich freigegeben wird.
Eine Ausrollung benötigt einen stabilen Bundle. In der Dashboard, zuweisen Sie den stabilen Bundle vor der Auswahl der Zielgruppe; mit dem öffentlichen API, kann ein bestehender Kanal Lieferungen version und rolloutVersion in the same POST request. Capgo makes a random decision for each eligible device, then caches it using a hash of the device ID and the rollout ID. That makes the cohort sticky for the configured cache duration instead of changing on every update check.
Die Standard-Ausrollungsentscheidung-Cache-Dauer beträgt 30 Tage. Nachdem es abgelaufen ist, kann ein Gerät wieder ausgewählt werden. Die Änderung der Zielgruppe erstellt eine neue Ausrollung-IDs und startet eine neue Kohorte. Sie können die Cache-Dauer von 60 Sekunden bis 365 Tage einstellen.
ProzentsatzänderungenCapgo preserves existing decisions when it can:
- __CAPGO_KEEP_0__ bewahrt bestehende Entscheidungen, wenn es kann: Eine Erhöhung eines Prozentsatzes — Geräte, die bereits ausgewählt sind, bleiben ausgewählt; nur eine zufällige Teilmenge von zuvor nicht ausgewählten Geräten wird hinzugefügt.
- Ein Prozentsatz verringern — eine zufällige Teilmenge der ausgewählten Kohorte kehrt zum stabilen Bundle zurück.
- Den Prozentsatz auf 0 % setzen — keine neuen Geräte werden ausgewählt. Geräte, die bereits das aktivierte Rollout-Ziel laufen, erhalten dieses Ziel, bis Sie es deaktivieren, zurückrollen oder das Ziel ändern.
- Pausieren — neue Geräte können nicht mehr in das System aufgenommen werden, während Geräte, die bereits das aktivierte Ziel laufen, weiterhin auf diesem Ziel bleiben.
- Deaktivieren — die Auflösung des Rollout-Ziels wird eingestellt; Aktualisierungsprüfungen verwenden das stabile Bundle.
Ein Rollout durchführen
Abschnitt mit dem Titel „Ein Rollout durchführen“- Ein getestetes Bundle hochladen und diesem dem Channel als stabiles Bundle zuweisen.
- Das Kandidaten-Bundle hochladen, ohne das Stabil-Bundle zu ersetzen.
- Den Kanal’s Informationen Registerkarte, das Kandidaten-Bundle als Ziel, eine kleine Prozentsatz wählen und die Ausrollung aktivieren.
- Die Ausrollung in Beobachten, Log-Insights, und der Kanal-Geschichte überwachen. Erhöhen Sie den Prozentsatz nur, wenn die Kohorte gesund ist.
- Wenn es bereit ist, das Ziel auf Stabil versetzen. Wenn es nicht gesund ist, pausieren oder zurückrollen Sie es.
CLI Beispiel
Abschnitt mit dem Titel “CLI Beispiel”Starte eine Auslieferung für ein Bundle 1.3.0 bei 5%:
npx @capgo/cli@latest channel set production com.example.app \ --rollout-bundle 1.3.0 \ --rollout-percentage 5 \ --rollout-enableErhöhe es ohne die Geräte neu zu konfigurieren, die bereits ausgewählt sind:
npx @capgo/cli@latest channel set production com.example.app \ --rollout-percentage 25Die Befehlszeile zum Hochladen des Bundles kann die Upload-Operation als Ziel für eine Auslieferung in einem Schritt setzen, wenn der Kanal bereits ein stabiles Bundle hat:
npx @capgo/cli@latest bundle upload com.example.app \ --path ./dist \ --channel production \ --rollout 5Siehe den vollständigen Kanal CLI Referenz und Bundle CLI Referenz für jede Rollout-Option.
Pausieren, zurücksetzen oder vorantreiben
Abschnitt mit dem Titel ‘Pausieren, zurücksetzen oder vorantreiben’| Aktion | Wie es funktioniert |
|---|---|
| Pausieren | Hält neue Geräte von der Rollout-Einbindung ab. Geräte, die bereits auf der Zielgruppe sind, bleiben dort. |
| Wiederaufnehmen | Erstellt neuen Geräten wieder die Möglichkeit, sich der Rollout-Einbindung zu unterziehen. |
| Deaktivieren | Beendet die Auflösung des Rollout-Ziels und verwendet das stabile Bundle. |
| Rückgängig machen | Leert das Ziel, deaktiviert den Rollout, setzt die Prozentsatz auf 0 % zurück und kehrt die Geräte auf stabil zurück. |
| Vorschub | Kontext: Capgo-Marketing-Website. Rolle: Abschnitts- oder Seitenüberschrift. Gesehen in: Seite affiliate.astro. Nachrichtenschlüssel `affiliate_step2_title` (Affiliate-Schritt2-Titel). |
Macht das Rollout-Ziel zum stabilen Bundle, dann löscht die Rollout-Zustand.
# Stop adding devices while you investigatenpx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Make the candidate stable for everyonenpx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Discard the candidate and return to stablenpx @capgo/cli@latest channel set production com.example.app --rollout-rollbackZur Zwischenablage kopieren
Halten Sie das Ziel-Bundle bis Sie es vorschubt oder rückgängig machen. Bundles, die als stabiles Bundle oder Rollout-Ziel verknüpft sind, sind vor der Löschung geschützt.
Automatischer Pausenrichtlinie (Auto-pause policy)Capgo kann alle fünf Minuten eine aktivierte Rollout bewerten und handeln, wenn sein Fehlersignal Ihre Schwellenwerte überschreitet. Es misst die Installationen und Fehlschläge für das Rollout-Ziel in der ausgewählten Kanal und Zeitfenster und verwendet dann eine Wilson-Vertrauensschranke anstatt der Rohfehlschlagrate allein.
Automatische Pause ist standardmäßig deaktiviert. Konfigurieren Sie diese Felder in der Kanal’s Information Schwellenwert für Fehlerrate channel set:
- in Basispunkten ( = 5%). Ein Schwellenwert ist erforderlich, damit die Politik ausgelöst wird.
500Zeitraum - in Minuten (Standard: 60). Vertrauen
- zwischen und
0__CAPGO_KEEP_0__ kann alle fünf Minuten eine aktivierte Rollout bewerten und handeln, wenn sein Fehlersignal Ihre Schwellenwerte überschreitet. Es misst die Installationen und Fehlschläge für das Rollout-Ziel in der ausgewählten Kanal und Zeitfenster und verwendet dann eine Wilson-Vertrauensschranke anstatt der Rohfehlschlagrate allein.1(default:0.95). - Optionaler Mindestversuche und -fehler, um auf kleine Proben zu vermeiden.
- Cooldown in Minuten (Standard: 60), das wiederholte Handeln verhindert.
- Aktion:
pause,rollback, odernotify.
pause stellt die neue Rollout-Exposition ein, rollback löscht das Ziel und kehrt zu stabil, und notify sendet eine Rollout-Alarmmeldung ohne Rollout-Lieferung zu ändern.
npx @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 und Steuerungsbalken
Abschnitt mit dem Titel ‘API und Steuerungsbereich’Sie können die gleiche Funktion über die Öffentliche Kanäle API oder über den Steuerungsbereich:
- Öffnen Sie eine App, dann Kanäle.
- context:Capgo-Release-Kanäle-Funktion
- Wählen Sie den Kanal. Öffnen.
- Informationen Verwenden Sie den Progressive-Rollout-Bereich, um den Zielgruppe, den Prozentsatz, die Cache-Dauer und die automatische Pausepolitik auszuwählen.
Für allgemeine Kanalrouting und Gerätepriorität, siehe KanäleFür Notfall-Wiederherstellung eines Pakets außerhalb eines progressiven Rollouts, siehe Ein Live-Update rückgängig machen.