コマンド ラインから発行する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure DevOps のクロスプラットフォーム CLI (tfx-cli) を使用して、拡張機能を Visual Studio Marketplace に発行できます。
詳細については、発行、インストール共有の概要を参照してください。
前提 条件
Node Package Manager から TFX CLI を取得し、Microsoft Entra トークンまたは個人用アクセス トークン (PAT) を生成します。 また、まだ行っていない場合は、ギャラリーでパブリッシャーを設定します。
Azure DevOps のクロスプラットフォーム CLI を取得する
お持ちでない場合は、NodeJS
ダウンロードしてインストールします。 セットアップ中には、[PATH に追加] が選択された状態にしておいてください。 コマンド プロンプトを開き、「
npm i -g tfx-cli
」と入力します。
既に TFX CLI がインストールされている場合は、npm up -g tfx-cli
を実行して最新のリリースに更新できます。
Microsoft Entra トークンをサービス プリンシパルとして発行する
拡張機能を サービス プリンシパルとして発行することもできます。
サービス プリンシパルをメンバーとしてパブリッシャー アカウントに追加します。 サービス プリンシパルの ID は、Profiles - Get を使用してプロファイルから取得できます。 次に、前の手順の ID を使用して、サービス プリンシパルをメンバーとして発行元に追加できます。
サービス プリンシパルを使用して、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>
個人用アクセス トークンを使用して発行する
組織にログインします (
https:dev.azure.com/{organization}
)。ホーム ページで、ユーザー設定アイコンを開き、[プロファイル
選択します。 [
セキュリティ ] で、[個人用アクセス トークン] を選択し、[新しいトークン 選択します。 を作成する
フォームを完成させてください。
- トークンに名前を付けます
- [すべてのアクセス可能な組織
を選択します。これは、CLI を使用して発行するときに機能する唯一の値です。 1 つの組織のみを選択すると、PAT が有効であってもエラーが発生します - トークンの有効期限を選択します。 これは、Visual Studio Marketplace 発行 API が組織のコンテキスト外で機能するため、必須です
- このトークンに関連付けられているアクセスのスコープを設定します。 必ず、マーケットプレース (発行) スコープを選択してください。 このスコープにより、トークンは Marketplace に拡張機能を発行することのみに制限されます。
- を選択し を作成する
生成された個人用アクセス トークンをコピーします。 必ず秘密にしてください。
TFX CLI がインストールされ、トークンを取得したら、ツールを使用して拡張機能をパッケージ化して発行できます。
- 拡張機能のルート ディレクトリにコマンド プロンプトを開きます。
- 次のコマンドを実行して拡張機能を発行します。 メッセージが表示されたら、認証するトークンを入力します。
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
手記
create
で使用できるオプションはすべて、publish
コマンドで使用できます。
例
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