Udostępnij za pośrednictwem


Publikowanie rozszerzenia Azure DevOps z wiersza polecenia

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

Użyj międzyplatformowego interfejsu wiersza polecenia dla Azure DevOps (tfx-cli), aby opublikować rozszerzenie w witrynie Visual Studio Marketplace. Aby uzyskać więcej informacji, zobacz omówienie publikowania, instalowania i udostępniania.

Warunki wstępne

Kategoria Wymagania
Narzędzia Międzyplatformowy interfejs wiersza polecenia dla Azure DevOps (tfx-cli) zainstalowany za pośrednictwem npm.
Uwierzytelnianie Token Microsoft Entra (zalecane) lub personal access token (PAT) z zakresem Marketplace (publikacja)
Publisher Konto publisher skonfigurowane w witrynie Visual Studio Marketplace

Ważna

Rozważ użycie bardziej bezpiecznych tokenów Microsoft Entra zamiast bardziej ryzykownych osobowych tokenów dostępu. Aby uzyskać więcej informacji, zobacz Zmniejszanie użycia PAT. Zapoznaj się ze wskazówkami dotyczącymi uwierzytelniania , aby wybrać odpowiedni mechanizm uwierzytelniania dla Twoich potrzeb.

Pobierz międzyplatformowy interfejs wiersza polecenia dla Azure DevOps

  1. Jeśli go nie masz, pobierz i zainstaluj NodeJS. Podczas konfigurowania upewnij się, że pozostawisz wybraną Dodaj do PATH.

  2. Otwórz wiersz polecenia i wprowadź npm i -g tfx-cli.

Jeśli masz już zainstalowany interfejs wiersza polecenia TFX, możesz przeprowadzić aktualizację do najnowszej wersji, uruchamiając npm up -g tfx-cli.

Instalowanie międzyplatformowego interfejsu wiersza polecenia dla Azure DevOps

npm install -g tfx-cli

Publikowanie przy użyciu tokenu Microsoft Entra jako jednostki usługi

Rozszerzenie można opublikować jako główną usługę.

  1. Dodaj jednostkę usługi jako członka do konta wydawcy. Pobierz identyfikator jednostki usługi za pośrednictwem interfejsu API REST, logując się za pośrednictwem Azure CLI i wykonując zapytanie dotyczące profilu jednostki usługi:
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

Następnie użyj identyfikatora z poprzedniego kroku, aby dodać głównego użytkownika usługi jako członka do wydawcy.

  1. Publikowanie rozszerzenia za pomocą CLI TFX przy użyciu głównej jednostki usługi. Uruchom następujące polecenie TFX CLI, aby wykorzystać jego token dostępu.
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>

Publikowanie przy użyciu osobistego tokenu dostępu

Utwórz osobisty token dostępu (PAT) o zakresie Marketplace (publikowanie).

Po zainstalowaniu narzędzia tfx-cli i uzyskaniu tokenu dostępu osobistego (PAT), opakuj i opublikuj swoje rozszerzenie.

  1. Otwórz wiersz polecenia w katalogu głównym rozszerzenia.
  2. Uruchom następujące polecenie, aby opublikować rozszerzenie. Po wyświetleniu monitu wprowadź token do uwierzytelnienia.
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>

Potencjalne błędy

Jeśli rozszerzenie zostało już opublikowane, może zostać wyświetlony następujący błąd:

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

Dodaj --rev-version flagę, aby automatycznie zwiększyć wersję poprawki rozszerzenia. Ta flaga powoduje również zapisanie nowej wersji w manifeście.

Notatka

Wszystkie opcje dostępne dla create są dostępne dla polecenia publish.

Przykład

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