Envoyer des paramètres vers App Configuration avec Azure Pipelines

La tâche Azure App Configuration Push envoie les paires clé-valeur d’un fichier de configuration dans votre magasin App Configuration. Cette tâche permet de bénéficier d’une fonctionnalité circulaire complète dans le pipeline, car vous pouvez désormais extraire des paramètres du magasin App Configuration et envoyer des paramètres au magasin App Configuration.

Prérequis

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.

  1. Dans Azure DevOps, accédez au projet qui contient votre pipeline cible. Dans l’angle inférieur gauche, sélectionnez Paramètres du projet.

  2. Sous Pipelines, sélectionnez Connexions de service. Dans l’angle supérieur droit, sélectionnez Nouvelle connexion de service.

  3. Dans Nouvelle connexion de service, sélectionnez Azure Resource Manager.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. Dans la boîte de dialogue Méthode d’authentification, sélectionnez Principal du service (automatique) pour créer un principal du service ou sélectionnez Principal du service (manuel) pour utiliser un principal de service existant.

  5. 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.

  1. Accédez à Paramètres du projet>Connexions de service.

  2. Sélectionnez la nouvelle connexion de service.

  3. Sélectionnez Gérer le principal du service.

  4. Notez la valeur dans Nom d’affichage.

    Screenshot shows the service principal display name.

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.

  1. Accédez à votre magasin App Configuration cible.

  2. Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .

  3. Dans le volet droit, sélectionnez Ajouter des attributions de rôles.

    Screenshot shows the Add role assignments button.

  4. Pour Rôle, sélectionnez Propriétaire des données App Configuration. Ce rôle permet à la tâche de lire et d’écrire dans le magasin App Configuration.

  5. Sélectionnez le principal de service associé à la connexion de service que vous avez créée dans la section précédente.

    Screenshot shows the Add role assignment dialog.

  6. Sélectionnez Vérifier + attribuer.

Utiliser dans les builds

Cette section explique comment utiliser la tâche Azure App Configuration Push dans un pipeline de build Azure DevOps.

  1. Accédez à la page de pipeline de build en cliquant sur Pipelines>Pipelines. Vous trouverez la documentation sur les pipelines de build ici.
    • 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.

      Screenshot shows the Show assistant button for a new pipeline.

    • Si vous utilisez un pipeline de build existant, cliquez sur le bouton Modifier en haut à droite.

      Screenshot shows the Edit button for an existing pipeline.

  2. Recherchez la tâche Azure App Configuration Push.

    Screenshot shows the Add Task dialog with Azure App Configuration Push in the search box.

  3. Configurez les paramètres nécessaires pour que la tâche envoie les paires clé-valeur du fichier de configuration vers le magasin App Configuration. Vous trouverez des explications sur les paramètres dans la section Paramètres ci-dessous ainsi que dans les info-bulles en regard de chaque paramètre.

    Screenshot shows the app configuration push task parameters.

  4. 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 Azure App Configuration Push dans un pipeline de mise en production Azure DevOps.

  1. Accédez à la page de pipeline de mise en production en sélectionnant Pipelines>Mises en production. La documentation sur les pipelines de mise en production est disponible ici.
  2. Choisissez un pipeline de mise en production existant. Si vous n’en avez pas, sélectionnez + Nouveau pour en créer un.
  3. Sélectionnez le bouton Modifier dans le coin supérieur droit pour modifier le pipeline de mise en production.
  4. Dans la liste déroulante Tâches, choisissez l’Étape à laquelle vous souhaitez ajouter la tâche. Vous trouverez des informations supplémentaires sur les phases ici.

    Screenshot shows the selected stage in the Tasks dropdown.

  5. Cliquez sur + en regard du travail auquel vous souhaitez ajouter une nouvelle tâche.

    Screenshot shows the plus button next to the job.

  6. Dans la boîte de dialogue Ajouter des tâches, dans la zone de recherche, tapez Azure App Configuration Push, puis sélectionnez cette tâche.
  7. Configurez les paramètres nécessaires dans la tâche afin d’envoyer les paires clé-valeur du fichier de configuration vers votre magasin App Configuration. Vous trouverez des explications sur les paramètres dans la section Paramètres ci-dessous ainsi que dans les info-bulles en regard de chaque paramètre.
  8. 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 App Configuration Push :

  • 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 votre point de terminaison disponible des magasins de configuration sous l’abonnement sélectionné. Pour mettre à jour et actualiser votre liste de point de terminaison disponible des magasins de configuration, appuyez sur le bouton Actualiser le point de terminaison App Configuration à droite de la zone de texte.
  • Configuration File Path : chemin de votre fichier de configuration. Le paramètre de chemin du fichier de configuration commence à la racine du référentiel de fichiers. Vous pouvez parcourir votre artefact de build pour sélectionner un fichier de configuration. (bouton ... à droite de la zone de texte). Les formats de fichier pris en charge dépendent du profil de contenu du fichier. Pour le profil par défaut, les formats de fichier pris en charge sont yaml, json et les propriétés. Pour le profil KvSet, le format de fichier pris en charge est json.
  • Profil de contenu de fichier : profil de contenu du fichier de configuration. La valeur par défaut est Par défaut.
    • Par défaut : fait référence aux formats de fichiers de configuration classiques qui sont directement consommables par les applications.
    • Kvset : fait référence à un schéma de fichier qui contient toutes les propriétés d’une valeur clé App Configuration, notamment la clé, la valeur, l’étiquette, le type de contenu et les balises. Les paramètres de tâche « Séparateur », « Étiquette », « Type de contenu », « Préfixe », « Balises » et « Profondeur » ne sont pas applicables lors de l’utilisation du profil Kvset.
  • Mode d’importation : la valeur par défaut est Tous. Détermine le comportement lors de l’importation de valeurs de clés.
    • Tous : importe toutes les valeurs de clés dans le fichier de configuration vers App Configuration.
    • Ignorer-Correspondre : importe uniquement les paramètres qui n’ont pas de valeur de clés correspondante dans App Configuration. Les valeurs de clés correspondantes sont considérées comme des valeurs de clés avec les mêmes clé, étiquette, valeur, type de contenu et balises.
  • Test : la valeur par défaut est Désactivé.
    • Activé : aucune mise à jour n’est effectuée pour App Configuration. Au lieu de cela, toutes les mises à jour qui auraient été effectuées dans une exécution normale seront imprimées sur la console pour révision.
    • Désactivé : effectue les mises à jour de App Configuration et n’imprime pas sur la console.
  • Separator : séparateur utilisé pour aplatir les fichiers .JSON et .yml.
  • Depth : profondeur à laquelle les fichiers .JSON et .yml seront aplatis.
  • Prefix : chaîne ajoutée au début de chaque clé envoyée au magasin App Configuration.
  • Label : chaîne ajoutée à chaque paire clé-valeur en tant qu’étiquette dans le magasin App Configuration.
  • Content Type : chaîne ajoutée à chaque paire clé-valeur en tant que type de contenu dans le magasin App Configuration.
  • Tags : objet JSON au format {"tag1":"val1", "tag2":"val2"}, qui définit les étiquettes ajoutées à chaque paire clé-valeur envoyée à votre magasin App Configuration.
  • Supprimer les valeurs de clés qui ne sont pas incluses dans le fichier de configuration : la valeur par défaut est Désactivé. Le comportement de cette option dépend du profil de contenu du fichier de configuration.
    • Activé :
      • Profil de contenu par défaut : supprime toutes les valeurs de clés dans le magasin App Configuration qui correspondent à la fois au préfixe et à l’étiquette spécifiés avant d’envoyer de nouvelles paires de valeurs de clés à partir du fichier de configuration.
      • Profil de contenu Kvset : supprime toutes les valeurs de clés dans le magasin App Configuration qui ne sont pas incluses dans le fichier de configuration avant d’envoyer de nouvelles valeurs de clés à partir du fichier de configuration.
    • Désactivé : envoie toutes les paires clé-valeur du fichier de configuration dans le magasin App Configuration, et laisse intact tout le reste dans le magasin App Configuration.

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 faire pour charger plusieurs fichiers de configuration ?

Créez plusieurs instances de la tâche Azure App Configuration Push dans le même pipeline pour envoyer plusieurs fichiers de configuration au magasin App Configuration.

Comment créer des références Key Vault ou des indicateurs de fonctionnalité à l’aide de cette tâche ?

Selon le profil de contenu de fichier que vous avez sélectionné, reportez-vous aux exemples dans Prise en charge Azure App Configuration pour le fichier de configuration.

Pourquoi est-ce que je reçois une erreur 409 lors de la tentative d’envoi de paires clé-valeur vers mon magasin de configuration ?

Une erreur de conflit 409 se produit si la tâche tente de supprimer ou de remplacer une paire clé-valeur qui est verrouillée dans le magasin App Configuration.