Passer au contenu

Rollouts progressives

Ainsi, un déploiement progressif maintient un lien de bundle stable d'un canal tout en livrant un cible de déploiement séparé à un sous-ensemble de dispositifs contrôlés. Le bundle stable un bundle normal attribué au canal. un déploiement ciblé à un sous-ensemble de dispositifs contrôlés.

Progressive rollout controls in a Capgo channel
Les contrôles de déploiement progressif dans un canal __CAPGO_KEEP_0__

Configurez la cible de déploiement, le pourcentage, la durée de cache et la politique d'arrêt automatique à partir de l'onglet « Informations » du canal.

Comment fonctionnent les déploiements progressifs

Chaque canal peut avoir deux liens de bundle :

  • Le bundle stable le bundle normal attribué au canal.
  • Rollout cible — le bundle candidat qui est publié progressivement.

Un rollout nécessite un bundle stable. Dans le tableau de bord, affectez le bundle stable avant de choisir la cible ; avec le Public API, un canal existant peut fournir version et 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.

La durée de cache par défaut pour la décision de rollout est de 30 jours. Une fois qu'elle expire, un appareil peut être sélectionné à nouveau. La modification de la cible de rollout crée un nouveau ID de rollout et démarre un nouveau groupe. Vous pouvez définir la durée de cache de 60 secondes à 365 jours.

Changements de pourcentage

Capgo preserves existing decisions when it can:

  • __CAPGO_KEEP_0__ conserve les décisions existantes lorsqu'il le peut : « Augmenter un pourcentage » --- les appareils déjà sélectionnés restent sélectionnés ; seuls un sous-ensemble aléatoire d'appareils précédemment non sélectionnés est ajouté.
  • Diminuer un pourcentage --- un sous-ensemble aléatoire du groupe sélectionné revient à la version stable.
  • Fixer le pourcentage à 0 % --- aucun appareil nouveau n'est sélectionné. Les appareils déjà exécutant la cible de déploiement activée continuent à recevoir cette cible jusqu'à ce que vous désactiviez, reveniez en arrière ou modifiiez la cible.
  • Arrêter --- arrête de nouvelles appareils d'entrer tandis que les appareils déjà exécutant la cible active restent sur elle.
  • Désactiver --- arrête de résoudre la cible de déploiement ; les mises à jour utilisent la version stable.
  1. Télécharger et affecter une version testée en tant que version stable du canal.
  2. Charger le bundle candidat sans remplacer le bundle stable.
  3. Ouvrir l'onglet Information tab, définir le candidat comme la Cible, choisir une petite proportion, et activer le lancement.
  4. Surveiller le lancement dans Observe, Log Insights, et l'historique du canal. Augmenter la proportion uniquement après que le groupe soit en bonne santé.
  5. Lorsqu'il est prêt, promouvez la cible vers stable. Si ce n'est pas en bonne santé, arrêtez ou revenez en arrière.

Démarrer une mise à jour pour le bundle 1.3.0 à 5 % :

Fenêtre de terminal
npx @capgo/cli@latest channel set production com.example.app \
--rollout-bundle 1.3.0 \
--rollout-percentage 5 \
--rollout-enable

Augmenter cela sans réinstaller les appareils déjà sélectionnés :

Fenêtre de terminal
npx @capgo/cli@latest channel set production com.example.app \
--rollout-percentage 25

La commande d'upload du bundle peut définir son upload comme une cible de mise à jour en une étape lorsque le canal a déjà un bundle stable :

Fenêtre de terminal
npx @capgo/cli@latest bundle upload com.example.app \
--path ./dist \
--channel production \
--rollout 5

Voir la version complète chaîne CLI de référence et bundle CLI de référence pour chaque option de mise à jour

ActionCe qu'il fait
PauseArrête les nouveaux appareils d'entrer dans la mise à jour. Les appareils déjà sur la cible activée restent là.
RésuméPermet aux nouveaux appareils éligibles d'entrer à nouveau.
DesactiverArrête de résoudre la cible de lancement et utilise la version stable.
Revenir en arrièreEfface la cible, désactive le lancement, réinitialise le pourcentage à 0 % et renvoie les appareils vers la version stable.
Promouvoircontext : Page/zone : Site Web de marketing Capgo. Rôle : En-tête de section ou de page. Vu dans : page affiliate.astro. Clé de message `affiliate_step2_title` (Titre d'étape 2 de l'affiliate).

Fixe la cible de lancement sur la version stable, puis efface l'état de lancement.

Utilisez une action de terminal à la fois :
# 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

Copier dans le presse-papier

Conservez la version de bundle disponible jusqu'à ce que vous la promouviez ou la revenez en arrière. Les versions liées à une version stable ou à une cible de lancement sont protégées de suppression.

Politique de mise en pause automatique : Section intitulée « Politique de mise en pause automatique »

Capgo peut évaluer une mise en production activée toutes les cinq minutes et agir lorsque son signal de défaillance franchit votre seuil. Il mesure les installations et les défaillances pour la cible de mise en production dans le canal sélectionné et la fenêtre de temps, puis utilise une limite inférieure de confiance de Wilson plutôt que le taux de défaillance brut seul.

La mise en pause automatique est désactivée par défaut. Configurez ces champs dans l’onglet Informations du canal ou avec channel set:

  • Seuil de taux de défaillance en points de base (500 = 5%). Un seuil est requis pour que la politique déclenche.
  • La fenêtre en minutes (par défaut : 60).
  • La confiance entre 0 et 1 (default: 0.95).
  • Minimum essais et échecs optionnels, pour éviter d'agir sur des échantillons minuscules.
  • Cooldown en minutes (par défaut: 60), qui empêche les actions répétées.
  • Action: pause, rollback, ou notify.

pause arrête la nouvelle exposition du déploiement, rollback efface la cible et revient à l'état stable, et notify envoie un avertissement de déploiement sans modifier la livraison du déploiement.

Fenêtre de terminal
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 et contrôles de tableau de bord

API et contrôles de tableau de bord

Vous pouvez gérer la même fonctionnalité à travers le Canaux publics API ou le tableau de bord :

  1. Ouvrez une application, puis Canal.
  2. context : nom de la fonctionnalité des canaux de mise à jour de Capgo. Page/zone : page de marketing des solutions de Capgo. Rôle : étiquette de navigation ou élément de menu court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Valeur de cellule visuelle Solutions White Label).
  3. Sélectionnez le canal. Ouvrir.
  4. Informations Utilisez le La mise à jour progressive

Pour la routage général du canal et la priorité du dispositif, voir CanauxPour la récupération de paquet d'urgence en dehors d'un déploiement progressif, voir Annuler une mise à jour en direct.