Exporter des paramètres depuis App Configuration avec Azure Pipelines
La tâche d’exportation d’Azure App Configuration exporte des paires clé-valeur de votre magasin App Configuration et les définit en tant que variables de pipeline Azure, qui peuvent être consommées par les tâches suivantes. Cette tâche complète la tâche d’importation d’Azure App Configuration, qui importe les paires clé-valeur d’un fichier de configuration vers votre magasin App Configuration. Pour plus d’informations, consultez Importer des paramètres vers App Configuration avec Azure Pipelines.
Prérequis
- Abonnement Azure : créez-en un gratuitement
- Magasin App Configuration : créez-en un gratuitement
- Projet Azure DevOps : créez-en un gratuitement
- Agent Azure Pipelines version 2.144.0 ou ultérieure et Node version 16 ou ultérieure pour l’exécution de la tâche sur des agents auto-hébergés.
Créer une connexion de service
Une connexion de service vous permet d’accéder aux ressources de votre abonnement Azure à partir de votre projet Azure DevOps.
Dans Azure DevOps, accédez au projet qui contient votre pipeline cible. Dans l’angle inférieur gauche, sélectionnez Paramètres du projet.
Sous Pipelines, sélectionnez Connexions de service. Dans l’angle supérieur droit, sélectionnez Nouvelle connexion de service.
Dans Nouvelle connexion de service, sélectionnez Azure Resource Manager.
Dans la boîte de dialogue Méthode d’authentification, sélectionnez Fédération des identités de charge de travail (automatique) pour créer une fédération d’identité de charge de travail ou sélectionnez Fédération des identités de charge de travail (manuelle) pour utiliser une fédération d’identité de charge de travail existante.
Entrez votre abonnement, votre ressource et un nom pour votre connexion de service.
Si vous avez créé un principal de service, recherchez le nom du principal de service affecté à la connexion de service. Vous ajouterez une nouvelle attribution de rôle à ce principal de service à l’étape suivante.
Accédez à Paramètres du projet>Connexions de service.
Sélectionnez la nouvelle connexion de service.
Sélectionnez Gérer le principal du service.
Notez la valeur dans Nom d’affichage.
Ajouter une attribution de rôle
Affectez les attributions de rôle App Configuration appropriées aux informations d’identification utilisées dans la tâche, afin que la tâche puisse accéder au magasin App Configuration.
Accédez à votre magasin App Configuration cible.
Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .
Dans le volet droit, sélectionnez Ajouter des attributions de rôles.
Pour Rôle, sélectionnez Lecteur de données de l’App Configuration. Ce rôle permet à la tâche de lire le contenu du magasin App Configuration.
Sélectionnez le principal de service associé à la connexion de service que vous avez créée dans la section précédente.
Sélectionnez Vérifier + attribuer.
Si le magasin contient des références Key Vault, accédez au coffre de clés correspondant et attribuez le rôle Utilisateur secret Key Vault au principal de service créé à l’étape précédente. Dans le menu Key Vault, sélectionnez Stratégies d’accès et vérifiez que le contrôle d’accès en fonction du rôle Azure est sélectionné comme modèle d’autorisation.
Utiliser dans les builds
Cette section explique comment utiliser la tâche d’exportation d’Azure App Configuration dans un pipeline de build Azure DevOps.
- Accédez à la page de pipeline de build en cliquant sur Pipelines>Pipelines. Pour accéder à la documentation sur les pipelines de build, consultez Créer votre premier pipeline.
- Si vous créez un pipeline de build, à la dernière étape du processus, sous l’onglet Révision, sélectionnez Afficher l’Assistant sur le côté droit du pipeline.
- Si vous utilisez un pipeline de build existant, cliquez sur le bouton Modifier en haut à droite.
- Recherchez la tâche Exportation d’Azure App Configuration.
- Pour exporter les paires clé-valeur du magasin App Configuration, configurez les paramètres nécessaires à la tâche. Vous trouverez les descriptions des paramètres dans la section Paramètres ainsi que dans les info-bulles en regard de chaque paramètre.
- Affectez au paramètre Abonnement Azure le nom de la connexion de service que vous avez créée à une étape précédente.
- Définissez le point de terminaison App Configuration sur le point de terminaison de votre magasin App Configuration.
- Acceptez les valeurs par défaut des paramètres restants.
- Enregistrez et mettez en file d’attente une build. Le journal de génération affiche les erreurs qui se sont produites pendant l’exécution de la tâche.
Utiliser dans les mises en production
Cette section explique comment utiliser la tâche d’exportation d’Azure App Configuration dans un pipeline de mise en production Azure DevOps.
- Accédez à la page de pipeline de mise en production en sélectionnant Pipelines>Mises en production. Pour accéder à la documentation sur les pipelines de mise en production, consultez Pipelines de mise en production.
- Choisissez un pipeline de mise en production existant. Si vous n’en avez pas, cliquez sur Nouveau pipeline pour en créer un.
- Sélectionnez le bouton Modifier dans le coin supérieur droit pour modifier le pipeline de mise en production.
- Dans la liste déroulante Tâches, choisissez l’Étape à laquelle vous souhaitez ajouter la tâche. Vous trouverez plus d’informations sur les étapes dans Ajouter des étapes, des dépendances et des conditions.
- Cliquez sur + en regard du travail auquel vous souhaitez ajouter une nouvelle tâche.
- Recherchez la tâche Exportation d’Azure App Configuration.
- Pour exporter les paires clé-valeur de votre magasin App Configuration, configurez les paramètres nécessaires dans la tâche. Vous trouverez les descriptions des paramètres dans la section Paramètres ainsi que dans les info-bulles en regard de chaque paramètre.
- Affectez au paramètre Abonnement Azure le nom de la connexion de service que vous avez créée à une étape précédente.
- Définissez le point de terminaison App Configuration sur le point de terminaison de votre magasin App Configuration.
- Acceptez les valeurs par défaut des paramètres restants.
- Enregistrez et mettez en file d’attente une mise en production. Le journal de mise en production affiche les erreurs rencontrées pendant l’exécution de la tâche.
Paramètres
Les paramètres suivants sont utilisés par la tâche d’exportation d’Azure App Configuration :
- Azure subscription : liste déroulante contenant vos connexions de service Azure disponibles. Pour mettre à jour et actualiser votre liste de connexions de service Azure disponibles, appuyez sur le bouton Refresh Azure subscription (Actualiser l’abonnement Azure) à droite de la zone de texte.
- Point de terminaison App Configuration : liste déroulante qui charge vos points de terminaison disponibles des magasins de configuration sous l’abonnement sélectionné. Pour mettre à jour et actualiser votre liste de points de terminaison disponibles des magasins de configuration, appuyez sur le bouton Actualiser le point de terminaison App Configuration situé à droite de la zone de texte.
- Mode de sélection : spécifie la façon dont les paires clé-valeur lues à partir d’un magasin de configuration sont sélectionnées. Le mode de sélection « Par défaut » permet d’utiliser des filtres de clé et d’étiquette. Le mode de sélection « Instantané » permet de sélectionner des paires clé-valeur à partir d’un instantané. La valeur par défaut est Par défaut.
- Filtre de clé : Le filtre permet de sélectionner les paires clé-valeur demandées à partir d’Azure App Configuration. La valeur * sélectionne toutes les paires clé-valeur. Pour plus d’informations, consultez Interroger des paires clé-valeur.
- Étiquette : Spécifie l’étiquette à utiliser au moment de la sélection des paires clé-valeur dans le magasin App Configuration. Si aucune étiquette n’est fournie, les paires clé-valeur avec l’étiquette no sont récupérées. Les caractères suivants ne sont pas autorisés : , *.
- Nom de l’instantané : spécifie l’instantané à partir duquel les paires clé-valeur doivent être récupérées dans Azure App Configuration.
- Préfixes de clés à découper : Spécifie un ou plusieurs préfixes de clés App Configuration à découper avant de définir ces clés en tant que variables. Un caractère de nouvelle ligne peut être utilisé pour séparer plusieurs préfixes.
- Supprimer l’avertissement pour les clés remplacées : la valeur par défaut est décochée. Spécifie s’il faut afficher des avertissements lorsque des clés existantes sont remplacées. Activez cette option lorsqu’un chevauchement de clés est escompté entre les clés provenant des paires clé-valeur téléchargées à partir d’App Configuration et les clés existant dans les variables de pipeline.
Utiliser des paires clé-valeur dans les tâches à venir
Les paires clé-valeur extraites d’App Configuration sont définies en tant que variables de pipeline, lesquelles sont accessibles en tant que variables d’environnement. La clé de la variable d’environnement est la clé de la paire clé-valeur récupérée à partir d’App Configuration après le découpage du préfixe, le cas échéant.
Par exemple, si une tâche à venir exécute un script PowerShell, elle peut consommer une paire clé-valeur avec la clé « myBuildSetting », comme ceci :
echo "$env:myBuildSetting"
Et la valeur est imprimée dans la console.
Remarque
Les références à Azure Key Vault dans App Configuration seront résolues et définies comme des variables secrètes. Dans les pipelines Azure, les variables secrètes sont masquées dans le journal. Elles ne sont pas transmises aux tâches en tant que variables d’environnement et doivent plutôt être transmises en tant qu’entrées.
Dépannage
Si une erreur inattendue se produit, les journaux de débogage peuvent être activés en affectant la valeur true
à la variable de pipeline system.debug
.
Questions fréquentes (FAQ)
Comment composer ma configuration à partir de plusieurs clés et étiquettes ?
Il arrive que la configuration soit impérativement composée à partir de plusieurs étiquettes, par exemple default et dev. Vous pouvez utiliser plusieurs tâches App Configuration dans un pipeline pour implémenter ce scénario. Les paires clé-valeur extraites par une tâche au cours d’une étape à venir remplacent toutes les valeurs des étapes précédentes. Dans l’exemple ci-dessus, une tâche permet de sélectionner des paires clé-valeur avec l’étiquette default, et une deuxième tâche permet de sélectionner des paires clé-valeur avec l’étiquette dev. Les clés avec l’étiquette dev remplacent les mêmes clés avec l’étiquette default.
Étape suivante
Pour obtenir des informations de référence complètes sur les paramètres, ou pour utiliser cette tâche de pipeline dans des pipelines YAML, consultez le document suivant.
Pour savoir comment importer des valeurs de clés à partir d’un fichier de configuration dans votre magasin App Configuration, passez au document suivant.
Pour savoir comment créer un instantané dans un magasin App Configuration, passez au document suivant.