Publier à partir de la ligne de commande
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Vous pouvez utiliser l’interface CLI multiplateforme pour Azure DevOps (tfx-cli) pour publier votre extension sur Visual Studio Marketplace.
Pour plus d'informations, consultez l'aperçu de la publication, de l'installation et du partage.
Conditions préalables
Obtenez l’interface CLI TFX à partir du Gestionnaire de package node et générez un jeton Microsoft Entra ou un jeton d’accès personnel (PAT). En outre, si vous ne l’avez pas déjà fait, configurez un serveur de publication dans la galerie.
Acquérir l’interface CLI multiplateforme pour Azure DevOps
Si vous ne l’avez pas, téléchargez et installez NodeJS. Lors de la configuration, veillez à laisser l'option Ajouter au CHEMIN D'ACCÈS sélectionnée.
Ouvrez une invite de commande et entrez
npm i -g tfx-cli
.
Si l’interface CLI TFX est déjà installée, vous pouvez effectuer une mise à jour vers la dernière version en exécutant npm up -g tfx-cli
.
Publier avec un jeton Microsoft Entra en tant que principal de service
Il est également possible de publier une extension en tant que principal de service.
Ajoutez le principal de service en tant que membre d'un compte d'éditeur. Vous pouvez obtenir l'ID du principal de service à partir de son profil en utilisant Profils - Obtenir. Ensuite, vous pouvez ajouter le principal de service en tant que membre de l'éditeur en utilisant l'ID de l'étape précédente.
Publiez une extension via TFX CLI en utilisant un principal de service. Exécutez la commande CLI TFX suivante pour utiliser son jeton d’accès :
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>
Publier avec un jeton d’accès personnel
Connectez-vous à votre organisation (
https:dev.azure.com/{organization}
).Dans votre page d’accueil, ouvrez l’icône paramètres utilisateur, puis sélectionnez Profil.
Sous Sécurité, sélectionnez Jetons d’accès personnels, puis sélectionnez Nouveau jeton.
Remplissez le formulaire :
- Nommez votre jeton
- Sélectionnez Toutes les organisations accessibles, qui est la seule valeur qui fonctionne lors de la publication via CLI. Si vous sélectionnez une seule organisation, elle génère une erreur, même si le mot de passe est valide
- Sélectionnez un délai d’expiration pour votre jeton. Cela est nécessaire, car les API de publication visual Studio Marketplace fonctionnent en dehors du contexte d’une organisation
- Définissez l’étendue de l’accès associé à ce jeton. Veillez à sélectionner le champ d'application Marketplace (publier). Cette étendue limite le jeton à la seule possibilité de publier des extensions sur la Place de marché.
- Sélectionnez Créer
Copiez votre jeton d’accès personnel généré. Veillez à le garder secret.
Une fois que TFX CLI est installé et que vous disposez de votre jeton, vous pouvez utiliser l’outil pour empaqueter et publier votre extension.
- Ouvrez une invite de commandes dans le répertoire racine de votre extension.
- Exécutez la commande suivante pour publier votre extension. Lorsque vous y êtes invité, entrez votre jeton pour l’authentification.
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>
Erreurs potentielles
Vous pouvez recevoir l’erreur suivante si votre extension a déjà été publiée :
Failed Request: Internal Server Error(500) - Version number must increase each time an extension is published. Extension: fabrikam.my-extension Current version: 0.1.9 Updated version: 0.1.9
Vous pouvez ajouter l’indicateur --rev-version
pour incrémenter automatiquement la version de patch de votre extension. Cela enregistre également la nouvelle version dans votre manifeste.
Remarque
Toutes les options disponibles pour create
sont disponibles pour la commande publish
.
Exemple
C:\vso-team-calendar>tfx extension publish --publisher publishFabrikam --manifest-js fabrikam.config.js --share-with fabrikam --rev-version
Copyright Microsoft Corporation
> Personal access token:
Checking if this extension is already published
It is, update the extension
Waiting for server to validate extension package...
Sharing extension with fabrikam.
=== Completed operation: publish extension ===
- Packaging: C:\vso-team-calendar\fabrikam.team-calendar-0.2.6.vsix
- Publishing: success
- Sharing: shared with fabrikam