Publier une extension

Une fois que vous avez créé une extension CLI développeur (azd) Azure, empaqueter et la publier dans un registre afin que d’autres personnes puissent l’installer. Cet article vous montre comment publier l’exemple d’extension Contoso Resource Tagger à partir du guide de démarrage rapide Générer un exemple d’extension. Vous pouvez appliquer les mêmes étapes à n’importe quelle extension.

Note

L’infrastructure azd d’extension est généralement disponible. Les extensions ou fonctionnalités individuelles peuvent avoir leur propre état d’aperçu.

Choisir un registre

azd peut résoudre les extensions à partir du registre officiel, des manifestes de Registre basés sur des URL personnalisés, des manifestes de Registre basés sur des fichiers et des fichiers groupés portables. Choisissez l’approche de distribution qui correspond à la façon dont les utilisateurs installent votre extension :

  • Registre officiel : Registre fourni avec azd. Pour publier ici, soumettez une pull request à un fork du dépôt azure/azure-dev.
  • Registre basé sur une URL personnalisée : manifeste de Registre distant que votre équipe héberge pour la distribution publique ou privée.
  • Registre basé sur des fichiers : manifeste de registre local pour le développement, le test, l’utilisation hors connexion ou la distribution privée.
  • Registre de développement ou nocturne : Registre d’adhésion pour les extensions de travail en cours ou intégrées automatiquement. Les extensions du registre de développement ne sont pas signées, non couvertes par support Azure, et peuvent changer ou être supprimées sans préavis.
  • Bundle portable : package autonome .zip que les utilisateurs installent directement à partir d’un chemin d’accès local ou d’une URL HTTPS sans ajouter de source de Registre.

Cet article utilise le Registre de développement pour illustrer la publication sur une source de test partagée. Pour plus d’informations sur la résolution de source et de version, consultez la référence de l’infrastructure d’extension.

Prerequisites

  • Une extension finalisée issue du démarrage rapide « Créer un exemple d’extension ».
  • Extension azd du développeur (microsoft.azd.extensions), qui fournit les azd x commandes utilisées pour empaqueter et publier. Si vous avez terminé le démarrage rapide, il est déjà installé. Sinon, exécutez azd extension install microsoft.azd.extensions.
  • Un compte GitHub et un référentiel pour héberger les artefacts de mise en production.
  • Un jeton d’accès personnel GitHub (PAT) avec la portée repo. La commande release utilise ce jeton pour créer des versions GitHub et charger des artefacts. Pour plus d’informations, consultez Gestion de vos jetons d’accès personnels.

Mettre à jour la version et le journal des modifications

Avant de publier, mettez à jour la version et documentez vos modifications :

  1. Mettez à jour la propriété version dans extension.yaml, conformément au versionnage sémantique. Incrémentez le numéro principal, mineur ou correctif en fonction du type de modification.

  2. Mettez à jour CHANGELOG.md avec les modifications notables pour cette version. azd utilise le journal des changements pour générer des notes de version.

Empaqueter l’extension

Utilisez la azd x pack commande pour générer des fichiers binaires spécifiques à la plateforme et empaqueter l’extension :

azd x pack

La commande crée des artefacts pour chaque plateforme prise en charge dans votre répertoire de sortie. azd x release charge ces artefacts et azd x publish met à jour les métadonnées du Registre. L’empaquetage exécute également des tests d’instantané pour vérifier que l’extension se comporte comme prévu avant de publier.

Si vous souhaitez distribuer une extension directement au lieu de la publier via un registre, créez un bundle autonome avec azd x pack --bundle. L’offre groupée est portable .zip qui contient les métadonnées et artefacts du Registre nécessaires à l’installation à partir d’un chemin d’accès de fichier ou d’une URL HTTPS.

Libérer l’extension

Utilisez la azd x release commande pour créer une version GitHub et charger les artefacts empaquetés. Fournissez votre GitHub PAT pour que la commande puisse créer la version :

azd x release

La commande crée une version dans votre dépôt GitHub, téléverse les binaires empaquetés et génère des notes de publication à partir de votre journal des modifications. La publication basée sur le Registre utilise ces artefacts de mise en production comme packages d’extension téléchargeables. La distribution de bundles directs ne nécessite pas cette étape de mise en production, sauf si vous souhaitez héberger l'offre groupée dans GitHub.

Tip

Stockez votre GitHub PAT dans une variable d’environnement plutôt que de le transmettre sur la ligne de commande. Consultez l’aide de la commande en exécutant azd x release --help pour les options d’authentification prises en charge.

Publier dans le Registre

Utilisez la azd x publish commande pour ajouter ou mettre à jour l’entrée de votre extension dans le Registre d’extensions :

azd x publish

La commande met à jour les métadonnées du Registre afin que les utilisateurs puissent découvrir et installer votre extension à partir du registre de développement. Cette étape diffère de la publication locale que azd x init effectue dans le guide de démarrage rapide, qui enregistre l’extension uniquement dans une source locale sur votre ordinateur. L’exécution de azd x publish mises à jour du registre de développement partagé permet à d’autres utilisateurs d’installer votre extension.

Installer et vérifier

Après avoir publié, vérifiez que d’autres utilisateurs peuvent installer votre extension à partir du registre de développement :

  1. Vérifiez que vous avez déjà ajouté le registre de développement.

    azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"
    
  2. Installez l’extension par son ID.

    azd extension install contoso.azd.tagger
    
  3. Exécutez une commande pour confirmer que l’extension fonctionne.

    azd tagger show
    

Publier dans le registre officiel

Pour publier sur le registre officiel, envoyez votre extension au dépôt azure/azure-dev :

  1. Fork the azure/azure-dev repository.
  2. Ajoutez l’entrée d’enregistrement de votre extension au fichier de registre officiel dans votre fork.
  3. Envoyez une demande de fusion pour révision.

L’équipe Azure Developer CLI examine les soumissions officielles du Registre pour la qualité et la sécurité avant leur fusion.

Résoudre les problèmes de publication

Le tableau suivant répertorie les problèmes de publication courants et leurs résolutions :

Issue Résolution
Échec de la publication en raison d’une erreur d’authentification Vérifiez que votre GitHub PAT est valide et a l’étenduerepo.
Les tests d’instantané échouent pendant azd x pack Passez en revue la sortie du test, mettez à jour vos instantanés si les modifications sont attendues et réexécutez la commande.
Les utilisateurs ne peuvent pas trouver votre extension Confirmez que le registre de développement est ajouté et que azd x publish s’est exécuté avec succès.
Conflit de version pendant la publication Incrémentez version dans extension.yaml à une nouvelle version inutilisée.