Condividi tramite


Pubblicare un'estensione Azure DevOps 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 CLI multipiattaforma per Azure DevOps (tfx-cli) installata tramite npm
Autenticazione Un Microsoft Entra token (scelta consigliata) o un token personale di accesso (PAT) con ambito Marketplace (publish)
Publisher Un account publisher configurato nel Visual Studio Marketplace

Importante

Prendere in considerazione l'uso dei token Microsoft Entra più sicuri rispetto ai token personali di accesso ad alto rischio. 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.

Ottieni il 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.

Installare l'interfaccia della riga di comando multipiattaforma per Azure DevOps

npm install -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 del principal del servizio tramite l'API REST effettuando l'accesso tramite cli di Azure ed eseguendo query sul profilo del principal del 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

Usare quindi l'ID del passaggio precedente per aggiungere l'ente servizio come membro del pubblicatore.

  1. Pubblicare un'estensione tramite interfaccia della riga di comando di TFX usando un'entità servizio. Esegui il seguente comando TFX CLI 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).

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