次の方法で共有


コマンド ラインからAzure DevOps拡張機能を発行する

Azure DevOps サービス |Azure DevOps Server |Azure DevOps Server 2022

Azure DevOps用クロスプラットフォーム CLI (tfx-cli) を使用して、拡張機能を Visual Studio Marketplace に発行します。 詳細については、発行、インストール共有の概要を参照してください。

前提 条件

カテゴリ Requirements
ツール npm 経由でインストールされた Azure DevOps 用クロスプラットフォーム CLI (tfx-cli)
認証 Microsoft Entra トークン (推奨) または 個人用アクセス トークン (PAT)Marketplace (発行) スコープ
発行者 publisher アカウント Visual Studio Marketplace で設定されます

Important

より安全なMicrosoft Entraトークンを、リスクの高い個人アクセス トークンよりも使用することを検討してください。 詳細については、「 PAT 使用量の削減」を参照してください。 認証ガイダンスを確認して、ニーズに適した認証メカニズムを選択します。

Azure DevOps用のクロスプラットフォーム CLI を取得する

  1. お持ちでない場合は、NodeJSダウンロードしてインストールします。 セットアップ中には、[PATH に追加] が選択された状態にしておいてください。

  2. コマンド プロンプトを開き、「」と入力します。

既に TFX CLI がインストールされている場合は、を実行して最新のリリースに更新できます。

Azure DevOps用のクロスプラットフォーム CLI をインストールする

npm install -g tfx-cli

Microsoft Entra トークンをサービス プリンシパルとして公開する

拡張機能は 、サービス プリンシパルとして発行できます。

  1. サービス プリンシパルをメンバーとしてパブリッシャー アカウントに追加します。 rest API を使用してサービス プリンシパルの ID を取得するには、Azure CLI経由でサインインし、サービス プリンシパルのプロファイルに対してクエリを実行します。
  • Bash
  • PowerShell
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

次に、前の手順の ID を使用して、 サービス プリンシパルをメンバーとして パブリッシャーに追加します。

  1. サービス プリンシパルを使用して、TFX CLI で拡張機能を発行します。 次の TFX CLI コマンドを実行して、そのアクセス トークンを使用します。
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>

個人用アクセス トークンを使用して発行する

Marketplace (発行) スコープを使用して個人用アクセス トークン (PAT) を作成します。

tfx-cli をインストールし、PAT を用意したら、拡張機能をパッケージ化して発行します。

  1. 拡張機能のルート ディレクトリにコマンド プロンプトを開きます。
  2. 次のコマンドを実行して拡張機能を発行します。 メッセージが表示されたら、認証するトークンを入力します。
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>

潜在的なエラー

拡張機能が既に公開されている場合は、次のエラーが表示されることがあります。

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

フラグを追加して、拡張機能のパッチ バージョンを自動的にインクリメントします。 このフラグは、新しいバージョンもマニフェストに保存します。

手記

で使用できるオプションはすべて、 コマンドで使用できます。

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