Condividi tramite


Pubblicare dalla riga di comando

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Usare l'interfaccia della riga di comando multipiattaforma per Azure DevOps (tfx-cli) per pubblicare l'estensione in Visual Studio Marketplace. Per ulteriori informazioni, vedere la panoramica di pubblica, installa e condividi.

Prerequisiti

Categoria Requisiti
Strumenti Interfaccia della riga di comando multipiattaforma per Azure DevOps (tfx-cli) installata tramite npm
Autenticazione Un token Microsoft Entra (scelta consigliata) o un token di accesso personale (PAT) con ambito Marketplace (pubblicazione)
Publisher Un account di pubblicazione configurato in Visual Studio Marketplace

Importante

Prendere in considerazione l'uso dei token microsoft Entra più sicuri rispetto ai token di accesso personali a rischio più elevato. Per altre informazioni, vedere Ridurre l'utilizzo di PAT. Esaminare le indicazioni per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.

Scarica la CLI multipiattaforma per Azure DevOps

  1. Se non è disponibile, scaricare e installare NodeJS. Durante la configurazione, assicurarsi di lasciare selezionata l'opzione Aggiungi a PATH.

  2. Aprire un prompt dei comandi e digitare npm i -g tfx-cli.

Se l'interfaccia della riga di comando di TFX è già installata, è possibile eseguire l'aggiornamento alla versione più recente eseguendo npm up -g tfx-cli.

Pubblicare con un token Microsoft Entra come principale del servizio

È possibile pubblicare un'estensione come entità servizio.

  1. Aggiungere il principale del servizio come membro per un account di pubblicazione. Ottenere l'ID dell'entità servizio tramite l'API REST accedendo tramite l'interfaccia della riga di comando di Azure ed eseguendo query sul profilo dell'entità servizio:
az login --service-principal --username <appId> --password <password> --tenant <tenant-id>
# 499b84ac-1321-427f-aa17-267ca6975798 specifies azure devops as a resource
az rest -u https://app.vssps.visualstudio.com/_apis/profile/profiles/me --resource 499b84ac-1321-427f-aa17-267ca6975798

Poi, è possibile aggiungere il principale del servizio come membro al publisher usando l'ID del passaggio precedente.

  1. Pubblicare un'estensione tramite interfaccia della riga di comando di TFX usando un'entità servizio. Eseguire il seguente comando dell'interfaccia della riga di comando di TFX per usare il suo token di accesso:
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>

Pubblicare con un token di accesso personale

Creare un token di accesso personale (PAT) con ambito marketplace (pubblicazione) e Tutte le organizzazioni accessibili selezionate.

Dopo aver installato tfx-cli e ottenuto il tuo PAT, prepara e pubblica la tua estensione.

  1. Apri un prompt dei comandi nella directory radice dell'estensione.
  2. Eseguire il comando seguente per pubblicare l'estensione. Quando richiesto, immettere il token per l'autenticazione.
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>

Potenziali errori

Se l'estensione è già pubblicata, potrebbe essere visualizzato l'errore seguente:

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

Aggiungere il --rev-version flag per incrementare automaticamente la versione patch dell'estensione. Questo flag salva anche la nuova versione nel file manifest.

Nota

Tutte le opzioni disponibili per create sono disponibili per il comando publish.

Esempio

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