從命令行發佈
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
您可以使用適用於 Azure DevOps 的跨平臺 CLI (tfx-cli) 將擴充功能發佈至 Visual Studio Marketplace。
如需更多資訊,請參閱 發佈、安裝和共用指南的概覽。
先決條件
從 Node 套件管理器取得 TFX CLI,並產生 Microsoft Entra 令牌或個人存取令牌(PAT)。 此外,如果您還沒有設定,請在圖庫中設定發行者。
取得適用於 Azure DevOps 的跨平臺 CLI
如果您沒有它,請下載並安裝 NodeJS。 在設定期間,請確定您保留 [新增至PATH] 選擇。
開啟命令提示字元,然後輸入
npm i -g tfx-cli
。
如果您已安裝 TFX CLI,您可以執行 npm up -g tfx-cli
更新至最新版本。
使用 Microsoft Entra 令牌作為服務主體進行發佈
請將該服務主體新增為發行者帳戶的一名成員。 您可以從其個人資料中使用 Profiles - Get取得服務主體的 ID。 然後,您可以使用上一個步驟中的標識符,將服務主體新增為成員 發行者。
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 發佈時唯一可運作的。 如果您只選取一個組織,即使 PAT 有效,也會導致錯誤
- 選取令牌的到期時間範圍。 這是必要的,因為 Visual Studio Marketplace 發布 API 不依賴於組織的背景下運作。
- 設定與此令牌相關聯的存取範圍。 請務必選取 Marketplace (publish) 範圍。 此範圍會限制 Token 只能夠將擴充功能發佈至商店。
- 選取 建立
複製您產生的個人存取令牌。 請務必將它保密。
安裝 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