Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Se non è disponibile, scaricare e installare NodeJS. Durante la configurazione, assicurarsi di lasciare selezionata l'opzione Aggiungi a PATH.
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.
- 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.
- 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.
- Apri un prompt dei comandi nella directory radice dell'estensione.
- 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