Zum Inhalt springen

Progressive Rollouts

A progressive rollout hält die Kanal- Stabile Bundle eine separate Zielgruppe zu einem kontrollierten Teil der Geräte. Es ist nützlich, wenn Sie eine echte Produktionsvalidierung ohne das Wechseln des gesamten Kanals wollen.

Progressive-Rollout-Kontrollen in einem Capgo Kanal
Konfigurieren Sie das Zielgruppenziel, den Prozentsatz, die Cache-Dauer und die automatische Pausepolitik von der Informationstabelle eines Kanals.

Jeder Kanal kann zwei Bundle-Links haben:

  • Stabile Bundle — der normale Bundle, der dem Kanal zugewiesen ist.
  • Zielgruppe — der Kandidatenbundle, der 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 einen Lieferanten liefern version und rolloutVersion im gleichen POST-Anfrage. Capgo macht eine zufällige Entscheidung für jeden zuständigen Gerät, dann speichert es mit einem Hash des Geräte-IDs und der Ausrollung-IDs. Das macht die Kohorte für die konfigurierte Cache-Dauer fest, anstatt sich bei jedem Update-Check zu ändern.

Capgo bewahrt bestehende Entscheidungen, wenn es kann:

  • Prozentsatz erhöhen — Geräte, die bereits ausgewählt sind, bleiben ausgewählt; nur ein zufälliger Teil der vorher nicht ausgewählten Geräte wird hinzugefügt.
  • Verringern Sie einen Prozentsatz — ein zufälliger Teil der ausgewählten Kohorte kehrt zum stabilen Bundle zurück.
  • Setzen Sie den Prozentsatz auf 0% — 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 — stoppt neue Geräte von der Eingabe, während Geräte, die bereits das aktivierte Ziel laufen, auf diesem bleiben.
  • Deaktivieren — stoppt die Auflösung des Rollout-Ziels; Aktualisierungsprüfungen verwenden das stabile Bundle.
  1. Hochladen und einem getesteten Bundle als Kanal-Bundle zuweisen.
  2. Das Kandidaten-Bundle hochladen, ohne das stabile Bundle zu ersetzen.
  3. Das Kanal- Informationen Registerkarte öffnen, den Kandidaten als Ziel festlegen, eine kleine Prozentsatz wählen und die Rollout aktivieren. Überwachen Sie den Rollout inBeobachten Sie
  4. Log-Insights und der Kanalhistorie. Erhöhen Sie den Prozentsatz nur, wenn die Kohorte gesund ist., Wenn es bereit ist, das Ziel auf stabil setzen. Wenn es nicht gesund ist, pausieren oder zurückrollen Sie es.__CAPGO_KEEP_0__ Beispiel
  5. Kontext: Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Benutzeroberflächenebene. Gesehen in: Seite Lösungen/Ohne-Mac.bauen.astro. Capgo-Produkt/Marke und Entwicklertrems genau beibehalten. Nachrichtenschlüssel `solutions_build_without_mac_cli_label` (Solutions Build Without Mac CLI Label).

Ein Rollout für ein Bundle starten 1.3.0 bei 5%:

Terminal-Fenster
npx @capgo/cli@latest channel set production com.example.app \
--rollout-bundle 1.3.0 \
--rollout-percentage 5 \
--rollout-enable

Erhöhen Sie es ohne die Geräte neu zu konfigurieren, die bereits ausgewählt sind:

Terminal-Fenster
npx @capgo/cli@latest channel set production com.example.app \
--rollout-percentage 25

Die Befehlszeile zum Hochladen des Bundles kann die Upload-Option als Ziel eines Rollouts in einem Schritt setzen, wenn der Kanal bereits ein stabiles Bundle hat:

Terminal-Fenster
npx @capgo/cli@latest bundle upload com.example.app \
--path ./dist \
--channel production \
--rollout 5

Die vollständige Kanal CLI Referenz und Bundle CLI Referenz für jede Rollout-Option.

AktionWas es tut
PausierenHält neue Geräte von der Einführung in die Rollout-Phase ab. Geräte, die bereits auf der Zielgruppe zugreifen, bleiben dort.
WiederaufnehmenErstellt neue Berechtigungen für neue Geräte, um sie wieder in die Rollout-Phase einzubeziehen.
DeaktivierenBeendet die Auflösung des Rollout-Ziels und verwendet das stabile Bundle.
ZurückrollenSetzt das Ziel zurück, deaktiviert das Rollout, setzt die Prozentsätze auf 0 % zurück und kehrt die Geräte auf das Stabile zurück.
Vorschubcontext: Seite/ Bereich: Capgo-Marketing-Website. Rolle: Abschnitt oder Seiteü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-Zustände.

Eine Aktion im Terminal pro Mal verwenden:
# Stop adding devices while you investigate
npx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Make the candidate stable for everyone
npx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Discard the candidate and return to stable
npx @capgo/cli@latest channel set production com.example.app --rollout-rollback

Zur Zwischenablage kopieren

Halten Sie das Ziel-Bundle bis Sie es vorschubt oder zurückrollt. Bundles, die als stabiles Bundle oder Rollout-Ziel verknüpft sind, sind vor der Löschung geschützt.

Automatischer Pausenrichtlinie

Capgo kann alle fünf Minuten eine aktivierte Rollout bewerten und handeln, wenn sein Fehlschlagssignal Ihre Schwellenwerte überschreitet. Es misst die Installationen und Fehlschläge für die Zielgruppe des Rollouts im ausgewählten Kanal und Zeitfenster und verwendet dann eine untere Schranke nach Wilson anstelle der Rohfehlerrate allein.

Automatische Pause ist standardmäßig deaktiviert. Konfigurieren Sie diese Felder in der Kanal- Information Schaltfläche channel set:

  • Schwellenwert für Fehlerrate in Basispunkten (500 = 5%). Ein Schwellenwert ist erforderlich, damit die Politik ausgelöst wird.
  • Zeitraum in Minuten (Standard: 60).
  • Zuverlässigkeit zwischen 0 und 1 (default: 0.95).
  • Optionaler Mindestversuche und -fehler, um auf kleine Proben zu reagieren.
  • Cooldown in Minuten (Standard: 60), der wiederholten Aktionen vorbehalten ist.
  • Aktion: pause, rollback, oder notify.

pause beendet die neue Rollout-Exposition, rollback löscht das Ziel und kehrt zum Stabilen zurück, und notify sendet eine Rollout-Alarmmeldung ohne die Rollout-Abgabe zu ändern.

Terminal-Fenster
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 120

API und Steuerungselemente im Dashboard

Abschnitt mit dem Titel “API und Steuerungsbereich”

Sie können die gleiche Funktion über die Öffentliche Kanäle API oder über den Steuerungsbereich:

  1. Öffnen Sie eine App, dann Kanäle.
  2. Kanal
  3. Öffnen Informationen.
  4. Verwenden Sie das Progressive-Rollout-Verfahren Abschnitt, um den Zielgruppe, den Prozentsatz, die Cache-Dauer und die automatische Pausepolitik auszuwählen.

Für allgemeine Kanalrouten und Geräteprioritäten, siehe KanäleKanäle . Für Notfall-Paket-Wiederherstellung außerhalb eines progressiven Rollouts, siehe.