Ciblage et déploiement des drapeaux LaunchDarkly
Vous utilisez une skill qui vous guidera à travers la modification de qui voit quoi pour un drapeau de fonctionnalité. Votre tâche est de comprendre l'état actuel du drapeau, de déterminer la bonne approche de ciblage pour ce que l'utilisateur souhaite, d'apporter les modifications de manière sûre et de vérifier l'état résultant.
Prérequis
Cette skill nécessite que le serveur MCP LaunchDarkly hébergé à distance soit configuré dans votre environnement.
Outils MCP requis :
get-flag: comprendre l'état actuel avant d'apporter des modificationstoggle-flag: activer ou désactiver le ciblage d'un drapeau dans un environnementupdate-rollout: modifier la variation de la règle par défaut (fallthrough) ou le déploiement en pourcentageupdate-targeting-rules: ajouter, supprimer ou modifier des règles de ciblage personnaliséesupdate-individual-targets: ajouter ou supprimer des utilisateurs/contextes spécifiques du ciblage individuel
Outils MCP optionnels :
copy-flag-config: copier la configuration de ciblage d'un environnement à un autrecreate-approval-request: créer une demande d'approbation quand les modifications directes sont bloquéeslist-approval-requests: vérifier les demandes d'approbation en attente pour un drapeauapply-approval-request: appliquer une demande d'approbation déjà approuvée
Concept fondamental : Ordre d'évaluation
Avant d'apporter des modifications de ciblage, comprenez comment LaunchDarkly évalue les drapeaux. Cela détermine ce que vos modifications font réellement :
- Le drapeau est OFF -> Servir l'
offVariationà tous. Rien d'autre n'importe. - Cibles individuelles -> Si le contexte correspond à une liste de cibles spécifiques, servir cette variation. Priorité la plus élevée.
- Règles personnalisées -> Évaluer les règles de haut en bas. La première règle correspondante gagne.
- Règle par défaut (fallthrough) -> Si rien d'autre n'a correspondu, servir cette variation ou ce déploiement.
Cela signifie : si vous ajoutez une règle de ciblage mais que le drapeau est OFF, personne ne voit la modification. Si vous définissez un déploiement en pourcentage sur la règle par défaut mais qu'il existe une cible individuelle, cet utilisateur ciblé contourne le déploiement.
Flux de travail
Étape 1 : Comprendre l'état actuel
Avant de changer quoi que ce soit, vérifiez ce qui est déjà configuré.
- Confirmez l'environnement. « L'activer » sans préciser d'environnement est ambigu. Confirmez toujours quel environnement l'utilisateur souhaite. Préférez demander plutôt que supposer.
- Récupérez le drapeau. Utilisez
get-flagavec l'environnement cible pour voir :on: Le ciblage est-il actuellement activé ?fallthrough: Quelle est la règle par défaut ? (variation ou déploiement en pourcentage)offVariation: Qu'est-ce qui est servi quand le drapeau est off ?rules: Y a-t-il des règles de ciblage personnalisées ?targets: Y a-t-il des utilisateurs/contextes ciblés individuellement ?prerequisites: Y a-t-il des drapeaux dont celui-ci dépend ?
- Évaluez la complexité. Un drapeau sans règles et sans cibles individuelles est simple. Un drapeau avec plusieurs règles, cibles et prérequis nécessite plus de prudence.
Étape 2 : Déterminer la bonne approche
En fonction de ce que l'utilisateur souhaite et de ce que vous avez trouvé, choisissez le bon outil et la bonne stratégie. Consultez Targeting Patterns pour la référence complète.
Scénarios courants :
| L'utilisateur veut | Outil | Notes |
|---|---|---|
| « L'activer » | toggle-flag avec on: true |
Modification la plus simple |
| « Le désactiver » | toggle-flag avec on: false |
Servir offVariation à tous |
| « Déployer à X% » | update-rollout avec rolloutType: "percentage" |
Les poids doivent totaliser 100 |
| « Activer pour les utilisateurs beta » | update-targeting-rules : ajouter une règle avec clause |
Les règles sont ET à l'intérieur, OU entre elles |
| « Ajouter des utilisateurs spécifiques » | update-individual-targets |
Priorité la plus élevée, remplace toutes les règles |
| « Déploiement complet » | update-rollout avec rolloutType: "variation" |
Servir une variation à tous |
| « Copier depuis staging » | copy-flag-config |
Promouvoir la configuration testée en production |
Étape 3 : Exécuter la liste de contrôle de sécurité
Avant d'appliquer des modifications, en particulier en production, parcourez la liste de contrôle de sécurité. Les vérifications clés :
- Bon environnement ? Vérifiez à nouveau que vous ciblez l'environnement prévu.
- Approbation requise ? Certains environnements nécessitent des flux de travail d'approbation. Si un outil de mutation retourne
requiresApproval: true:- Informez l'utilisateur que cet environnement nécessite des approbations.
- Partagez l'
approvalUrlsi fourni. - Proposez de créer une demande d'approbation avec
create-approval-requesten utilisant les mêmes instructions (retournées dans le champinstructionsde la réponse). - NE tentez PAS de contourner l'approbation ou d'auto-approuver.
- Consultez Approval Workflows pour le processus complet.
- Drapeaux prérequis ? Si ce drapeau a des prérequis, ils doivent être satisfaits avant que le ciblage ne fonctionne comme prévu.
- Impact de l'ordre des règles ? Si vous ajoutez des règles, considérez où elles se situent dans l'ordre d'évaluation. Les règles s'évaluent de haut en bas, la première correspondance gagne.
- Incluez un commentaire. Ajoutez toujours un commentaire de piste d'audit, en particulier pour les modifications en production.
Étape 4 : Appliquer les modifications
Utilisez l'outil approprié pour la modification. Points clés :
toggle-flag: Spécifiezon: trueouon: false, l'envet uncomment.update-rollout: UtilisezrolloutType: "percentage"avec des poids conviviaux (par exemple, 80 pour 80 %) qui totalisent 100, ourolloutType: "variation"avec unvariationIndex.update-targeting-rules: Les instructions supportentaddRule,removeRule,updateRuleVariationOrRollout,addClauses,removeClauses,reorderRules.update-individual-targets: Les instructions supportentaddTargets,removeTargets,addContextTargets,removeContextTargets,replaceTargets.
Consultez Targeting Patterns pour des exemples d'instructions détaillées.
Étape 5 : Vérifier
Après avoir appliqué les modifications, confirmez le résultat :
- Récupérez le drapeau mis à jour. Utilisez
get-flagà nouveau pour vérifier le nouvel état. - Confirmez ce que l'utilisateur attend. Décrivez le ciblage résultant en langage clair :
- « Le drapeau est maintenant ON en production, servant
trueà 25 % des utilisateurs etfalseà 75 %. » - « Les utilisateurs beta voient maintenant la variation A. Tous les autres reçoivent la valeur par défaut (variation B). »
- « Le drapeau est maintenant ON en production, servant
- Vérifiez les effets secondaires. S'il y a des règles ou des cibles individuelles, assurez-vous que la modification interagit correctement avec elles.
Gestion des environnements nécessitant une approbation
Quand un outil de mutation retourne requiresApproval: true, la modification directe a été bloquée parce que l'environnement nécessite des approbations. Suivez la référence Approval Workflows pour :
- Créer une demande d'approbation avec
create-approval-requesten utilisant lesinstructionsde la réponse bloquée - Informer l'utilisateur de la demande d'approbation en attente et partager les détails de la demande
- Vérifier l'état d'approbation plus tard avec
list-approval-requestssi demandé - Appliquer la demande avec
apply-approval-requestune fois qu'un réviseur l'a approuvée (reviewStatus est « approved ») - Vérifier le résultat avec
get-flagaprès application
Contexte important
update-rolloututilise des pourcentages conviviaux. Passez 80 pour 80 %, pas 80000. L'outil gère la conversion de poids interne.- Les poids doivent totaliser 100. Pour les déploiements en pourcentage, les poids sur toutes les variations doivent totaliser exactement 100.
- L'ordre des règles importe. Les règles s'évaluent de haut en bas. Réordonner les règles peut changer le comportement sans changer aucune règle individuelle.
- Les cibles individuelles sont prioritaires. Elles remplacent toutes les règles et la valeur par défaut. Ajouter quelqu'un comme cible individuelle signifie que les règles ne s'appliquent pas à lui.
- Les drapeaux « lancés » sont toujours ON. Un drapeau avec le statut « lancé » sert une variation unique à tous. Si vous voulez supprimer le drapeau, utilisez la skill de nettoyage, pas les modifications de ciblage.
Références
- Targeting Patterns : Stratégies de déploiement, construction de règles, ciblage individuel et copie entre environnements
- Safety Checklist : Vérification pré-modification, flux de travail d'approbation, sensibilisation à l'environnement
- Approval Workflows : Créer, vérifier et appliquer des demandes d'approbation