封裝和發佈延伸模組

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

開發擴充功能之後,您可以封裝併發佈至 Visual Studio Marketplace。 Marketplace 是私人和公用擴充功能、整合和其他 Microsoft 供應專案的全域存放庫。

注意

如需延伸模組指令清單檔案中可用之探索屬性的資訊,以協助使用者探索及瞭解您的延伸模組,請參閱 延伸模組指令清單參考

必要條件

發佈至 Marketplace 之前,必須先符合下列需求清單。

  • 安裝延伸模組封裝工具 (TFX)。 從命令提示字元執行 npm install -g tfx-cli
  • 請確定已授與適當的許可權,以使用任何影像,例如圖示、標誌、螢幕快照等等。
  • 包含完整的 overview.md 檔案,以在 Marketplace 中描述您的清單。
  • 包含擴充功能的圖示,其大小至少為128x128圖元。
  • 當您參考 Microsoft 產品時,請使用完整名稱來取代縮寫,例如 Azure DevOps 與 AzDO 或 - 任何其他縮寫。
  • 避免在延伸模組的名稱中使用品牌名稱。

建立發行者

所有延伸模組和整合,包括來自 Microsoft 的延伸模組,都有發行者。 任何人都可以建立發行者,並在其下發佈延伸模組。 如果小組正在開發延伸模組,您也可以讓其他人存取您的發行者。

使用者擁有發行者,通常是建立發行者的使用者。 您也可以與其他使用者共享發行者。

  1. 登入 Visual Studio Marketplace 發佈入口網站

  2. 如果您還不是現有發行者的成員, + 建立發行者。 在 [發行者名稱] 欄位中輸入名稱。 [標識元] 欄位應該根據您輸入的名稱自動設定。

    顯示醒目提示按鈕 [建立發行者] 的螢幕快照。

    注意

    記下標識碼,因為您需要在延伸模組的指令清單檔中加以設定。

    如果未提示您建立發行者,請向下卷動至頁面底部,然後選取 [相關網站] 下方的 [發佈延伸模組]。

    • 指定發行者的標識碼,例如: mycompany-myteam。 此標識碼會作為延伸模組指令清單檔案中 屬性的值 publisher
    • 指定發行者的顯示名稱,例如: My Team
  3. 檢閱 Marketplace 發行者合約,然後選取 [ 建立]。

    建立延伸模組的發行者

發行者建立之後,系統會引導您管理專案,但沒有任何專案。

封裝您的擴充功能

若要上傳延伸模組,您必須將其封裝為 VSIX 2.0 相容的 .vsix 檔案。 Microsoft 提供跨平臺命令行介面 (CLI) 來封裝和發佈延伸模組。

  1. 開啟您的延伸模組指令清單檔案 (vss-extension.json),並將欄位的值 publisher 設定為發行者的標識碼。 例如:

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. 從命令提示字元中,從延伸模組目錄執行 TFX 工具的封裝命令。

    npx tfx-cli extension create
    

    顯示訊息,指出您的延伸模組已成功封裝:

    === Completed operation: create extension ===
    - VSIX: C:\my-first-extension\AnnetteNielsen.my-first-extension-1.0.0.vsix
    - Extension ID: my-first-extension
    - Extension Version: 1.0.0
    - Publisher: AnnetteNielsen
    

注意

擴充功能/整合的版本必須在每次更新時遞增。
如果您尚未在指令清單中遞增擴充功能/整合,則應該傳遞 --rev-version 命令行參數。 這會遞增 擴充功能的修補程式 版本號碼,並將新版本儲存至指令清單。

檢查套件大小

在封裝 vsix 之後檢查其大小。 如果大於 50 MB,您需要將其優化。 若要這樣做,請參閱下列考慮:

  • 重複資料刪除通用相依性,如果有的話,請在擴充套件中指出一次。
  • 在運行時間或安裝期間擷取專案,而不是在套件內提供。 請考慮在運行時間使用工具安裝程式連結庫來提取工具相依性。 使用 lib 可提供工具依版本快取的優點,因此對於私人代理程式而言,它不會下載每個組建。 我們將其設定為連結庫,使其可在工具安裝程式工作之外使用。 但是,工作無法在中斷連線的案例中運作(沒有因特網),這應該在工作的描述/檔中。
  • 有些使用者已成功使用 WebPack 來將相依性樹狀結構放在其工作中。

發佈延伸模組

封裝延伸模組之後,您可以將它上傳至發行者下的 Marketplace。 publisher延伸模組指令清單檔中指定的標識碼必須符合上傳延伸模組之發行者的標識碼。

  1. 從管理入口網站中,從頁面頂端的下拉功能表中選取您的發行者。

  2. 選取 [新增擴充功能>Azure DevOps]。

    顯示 [新增擴充功能] 下拉功能表和醒目提示 [Azure DevOps] 選取項目的螢幕快照。

  3. 拖放您的檔案,或選取它來尋找您在上一個封裝步驟中建立的 VSIX 檔案,然後選擇 [ 上傳]。

    此螢幕快照顯示上傳適用於 Azure DevOps 的新擴充功能。

    快速驗證之後,您的延伸模組會出現在已發佈的延伸模塊清單中。 別擔心,只有您可以看到延伸模組。

    顯示已發行延伸模組清單中延伸模組的螢幕快照。

此時,任何帳戶都看不到您的延伸模組,而且在您共用它之前無法安裝。

注意

Microsoft 會在每個已發佈的全新和更新延伸模組套件上執行病毒掃描。 在掃描全部清除之前,我們不會在 Marketplace 中發佈延伸模組以供公用使用。 如此一來,我們也會避免在 Marketplace 頁面上呈現不適當的或冒犯性內容。

共用您的延伸模組

您必須先與組織共用延伸模組,才能在 Azure DevOps 中安裝。 若要共用延伸模組,請執行下列工作:

  1. 從 Marketplace 管理入口網站中,從清單中選取您的擴充功能,以滑鼠右鍵按兩下,然後選擇 [共用/取消共用] 或 [發佈/取消發佈],視擴充功能而定。

    功能表選取專案[共用/取消共用] 的螢幕快照。

  2. 選取 [ 組織],然後輸入您組織的名稱。 選取 [輸入]

    Enter 按鈕的螢幕快照。

  3. 關閉面板。

您的延伸模組現在可以安裝至此組織。

安裝您的延伸模組

若要安裝您的共用延伸模組,請執行下列步驟。

  1. 在 Marketplace 中,選取您的延伸模組以開啟其概觀頁面。

    [概觀] 頁面的螢幕快照。

    注意

    因為您的延伸模組是私人的,所以只有您和與其共用的任何組織成員才能看到此頁面。

  2. 選取 [ 免費 取得] 以啟動安裝程式。 從下拉功能表中選取您與共用延伸模組的組織。

    顯示延伸模組安裝對話框的螢幕快照。

  3. 選取 [安裝]。

恭喜! 您已將擴充功能安裝到組織,並已準備好試用。

試用擴充功能

  1. 選取安裝 精靈結尾的 [繼續組織 ],以移至安裝延伸模組的組織的首頁(https://dev.azure.com/{organization})。

  2. 重新整理您的瀏覽器。

  3. 開啟 [組織設定],然後選取 [ 擴充功能]。

    [組織設定]、[延伸模組] 頁面的螢幕快照。

您應該會在 [ 已安裝 ] 索引標籤上看到新的延伸模組。

偵錯您的擴充功能

若要使用 Visual Studio 或 Browser Developer Tools 對延伸模組進行偵錯,請新增 baseUri 屬性來變更指令清單。 此動作可加速開發,而不需要在每次變更原始程式碼時重新部署擴充功能。

{
    ...
    "baseUri": "https://localhost:44300",
    ...
}

當您變更指令清單時,它會從本機 Web 伺服器實例載入擴充功能。 例如,Visual Studio 中的 IISExpress。 變更指令清單之後,僅部署並安裝此偵錯延伸模組一次。

注意

在 SSL 模式中執行本機網頁伺服器,因為 Azure DevOps 會要求從安全來源提供網頁。 否則,您會在擴充功能 IFRAME 載入期間,於瀏覽器控制台中收到錯誤。

更新擴充功能

若要變更已發行的延伸模組,請加以更新。

提示

建議您透過移除和重新上傳來更新延伸模組。 我們也建議有兩個延伸模組,例如 publisher.extensionpublisher.extension-devPublisher.extension 在 Marketplace 中是公用的,客戶可以在其 Azure DevOps 組織中安裝它。 Publisher.extension-dev 在 Marketplace 中保持私用,而且可以與您擁有和控制的組織共用。 您不需要維護延伸模組的兩個原始程式碼複本。 您可以維護兩個指令清單檔案 -- 每個延伸模組的一個,在封裝擴充功能期間,您可以將個別的指令清單檔案提供給 tfx-cli 工具。 如需工具所需自變數的詳細資訊,請參閱 TFX 擴充功能命令。

  1. 從顯示的專案清單中選取延伸模組。
  2. 以滑鼠右鍵按兩下 ,然後選取publisher.extension-dev[更新],例如。
  3. 驗證您的延伸模組。
  4. 例如,對生產版本 publisher.extension進行相同的更新。
  5. 流覽至 .vsix 以取得您的延伸模組並上傳。

延伸模組的更新版本會自動安裝到已安裝它的帳戶。 未來安裝擴充功能的新帳戶也會收到最新版本。

將您的延伸模組設為公用

當您開發 Marketplace 的延伸模組或整合時,請將其保留為私人。 若要公開提供擴充功能,請將 指令清單中的公用旗標 設定為 true

資格

若要在 Marketplace 上擁有公開清單,您的整合或擴充功能必須符合下列資格:

  • 使用或擴充 Azure DevOps。
  • 貴使用者或貴公司擁有、開發及授權,以散發及公告整合或延伸模組。
  • 擴充功能或整合會主動維護。

Microsoft 也可能要求示範,並檢閱針對 Marketplace 專案規劃的內容。

頂端發行者

Top Publisher 程式僅適用於具有 Azure DevOps 延伸模組或整合的發行者。 不適用於 Visual Studio IDE 和 Visual Studio Code 擴充功能發行者。

Top Publisher 徽章的螢幕快照。

Top Publisher 計劃會透過示範原則、品質、可靠性和支援,向客戶和 Marketplace 認可發行者承諾。 成為頂級發行者之後,所有公開供應專案都會顯示 Top Publisher 徽章。

熱門發行者需求

Marketplace 中的 Top Publisher 計劃旨在協助您評估或取得 Azure DevOps 延伸模組,並有信心整合。 Top Publisher 徽章表示發行者會透過示範原則、品質、可靠性和支援,向客戶和 Marketplace 展示對客戶和 Marketplace 的承諾。 它適用於具有一或多個全域 Azure DevOps 延伸模組或整合的發行者,不適用於 Visual Studio IDE 和 Visual Studio Code 擴充功能發行者。

Marketplace 會在仔細檢閱發行者之後,跨下列參數將徽章指派給發行者:

  • 隱私權原則
  • 授權原則
  • 支援原則
  • 文件
  • 問答回應性
  • 評等和評論其供應專案
  • 作用中取用和其供應專案的安裝計數
  • 從發行者管理至少一個公用 Azure DevOps 擴充功能。
  • 公用擴充功能應該安裝超過5000個,且使用中安裝計數超過1000。

當您從頂級發行者取得擴充功能時,您可以期待及時的支援和良好的整體體驗。 查看來自頂級發行者的供應專案。

如需將原則新增至供應專案的詳細資訊,請參閱 延伸模組指令清單

  1. 更新您的發行者配置檔。

    透過發行者配置檔,您可以在單一位置展示所有供應專案,以及重要的發行者相關信息。 若要提供設定檔中顯示的資訊,請執行下列步驟:

    a. https://marketplace.visualstudio.com/manage/publishers使用您在 Visual Studio Marketplace 中發佈及管理供應項目的帳戶登入。

    b. 選取發行者,然後在 [詳細數據] 索引標籤中完成 [關於您] 區段。Microsoft 發行者相關區段的螢幕快照。 c. 儲存您的變更,然後選取 [ 檢視配置檔 ] 以查看其顯示給取用者的方式。 您可以使用此設定檔頁面來宣傳您的供應專案。。

注意

透過此程式,它是經認證的發行者。 這並不涵蓋其擴充功能和整合的軟體或安全性。 當您評估發行者的供應專案時,建議您注意 安全性資訊

如果您從頂級發行者取得擴充功能,但對體驗不滿意,請考慮先與發行者互動。 之後,如果您仍然不滿意, 請連絡 Marketplace 小組

套用至頂端發行者

  1. 使用您在 Marketplace 中發佈和管理供應項目的帳戶登入https://marketplace.visualstudio.com/manage/publishers
  2. 選取發行者並流覽至其 Top Publisher 索引標籤。注意:您需要有一或多個全域 Azure DevOps(伺服器/服務)延伸模組或整合,索引標籤才能顯示。
  3. 如果您符合先前所列需求的一部分,而且是發行者的擁有者,您會看到一個選項可申請計劃。 在應用程式上,會傳送電子郵件給 Marketplace 小組,以檢閱您的案例。 他們在接下來的 10 個工作天內回答後續步驟,澄清問題或獲得徽章。

小組可能會查看其他參數,例如主動採用您的供應專案、安裝/開始使用計數和評分和評論,再授與徽章。 Microsoft 隨時保留授與、拒絕或撤銷 Top Publisher 徽章的權利。

發行者是頂級發行者之後,其所有未來的更新和供應專案都必須符合先前列出的需求。

回應 Marketplace 擴充功能檢閱

您可以回應客戶在 Visual Studio Marketplace 中為延伸模組留下的評論。 如果您有下列其中一個許可權,請尋找並選取 [檢閱] 旁的 [回復 ]:擁有者、建立者或參與者。

您只能留下一個回應。 避免使用評論作為支持論壇。 如果您需要更多詳細數據,請為檢閱者提供支持別名以連絡。 然後,您可以在外部解決問題,並使用解決方案更新您的回復。

發行者回應的指導方針

讓 Visual Studio Marketplace 保持開放、邀請、尊重和實用的位置,讓客戶尋找、試用、安裝及檢閱擴充功能。 溝通在保持健康社區方面發揮了重要作用。 為了協助建立此環境,以下是發行者回應客戶評論的指導方針。 深入思考客戶互動,並反思 Marketplace 嘗試建立的客戶體驗精神。

  • 評論會保留給客戶批注。 使用 [僅回復 ] 來響應檢閱。
  • 評論是共用客戶意見,因此 所有意見都是有效的。 客戶有權接受自己的意見,因此,在不進行辯論、批評或爭論的情況下,尊重評論作為意見反應。
  • 請確定您的回應會增加價值,且與您客戶的批註相關。
  • 專注於精確地解決問題。 如果您需要更多詳細數據,請要求客戶透過電子郵件連絡您,而不是在評論中討論。 當您解決問題時,請使用解決方案更新您的回復。 您可以編輯您的回復,就像客戶可以編輯其評論一樣。
  • 如果您遇到任何不適當的評論,例如垃圾郵件、濫用或冒犯性內容,請針對任何延伸模組將其標幟為我們的評論。

要求取消檢閱

身為發行者,如果回報的問題是因為 Marketplace 或基礎平臺,您可以呼籲取消檢閱。 如果問題有效,Marketplace 系統管理員會取消評等。 您可以在 延伸模組中樞頁面上從評等和檢閱區段提出上訴

解除發佈延伸模組

如果您不想再在 Marketplace 中提供免費延伸模組,您可以取消發佈免費擴充功能。

下列案例涵蓋何時可能想要從 Marketplace 移除擴充功能:

  • 您開發了另一個延伸模組,不再想要提供目前的擴充功能。
  • 您的延伸模組發生問題,因此您想要從 Marketplace 移除擴充功能,直到您解決問題為止。
  • 您錯誤地將擴充功能發佈為公用。

必須符合特定準則,才能取消發佈或移除延伸模組:

動作 需求
取消發行 只有 免費延伸模組 可能未發佈。
移除 您的延伸模組必須安裝 零 (0) 才能移除。

重要

如果您因為法律或安全性問題而必須移除擴充功能,請連絡 Marketplace 小組。 我們會檢閱要求,並手動刪除延伸模組。

  1. 選取發行者頁面上的延伸模組,然後選擇功能表上的 [取消發佈]。

    您的延伸模組會立即從 Marketplace 解除發布,且新使用者無法安裝。 延伸模組的評等和評論會保持不變。

若要在 Marketplace 中再次提供您的延伸模組,請選擇功能表上的 [ 發佈 ]。

如果您的延伸模組安裝零(0),您也可以選擇從 Marketplace 完全移除延伸模組。 若要這樣做,請選擇 功能表上的 [移除 ]。 此動作無法復原。