Partager via


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

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

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

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

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

  1. Connectez-vous à votre organisation (https:dev.azure.com/{organization}).

  2. Dans votre page d’accueil, ouvrez l’icône paramètres utilisateur, puis sélectionnez Profil.

    Sélectionner un profil après avoir sélectionné l’icône paramètres utilisateur

  3. Sous Sécurité, sélectionnez Jetons d’accès personnels, puis sélectionnez Nouveau jeton.

    Créer votre nouveau jeton d’accès personnel

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

    ..

  5. Copiez votre jeton d’accès personnel généré. Veillez à le garder secret.

    Copiez votre jeton et conservez-le un 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.

  1. Ouvrez une invite de commandes dans le répertoire racine de votre extension.
  2. 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