發佈擴充套件

當你建立 Azure Developer CLI (azd) 擴充功能後,打包並發佈到登錄檔,讓其他人安裝。 本文說明如何發佈 Build a sample extension quickstart 中的 Contoso 資源標註器範例擴充功能。 你可以對任何擴充功能套用相同的步驟。

Note

azd擴充框架已普遍提供。 個別擴充功能或功能可能有自己的預覽狀態。

選擇登錄檔

azd 能解析來自官方登錄檔、自訂 URL 登錄清單、檔案註冊清單及可攜式套件檔案的擴充功能。 選擇符合使用者安裝擴充功能方式的發佈方式:

  • 官方登錄檔:隨 azd 一起提供的登錄檔。 若要在此發佈,請將提取要求提交至 azure/azure-dev 儲存庫的 Fork。
  • 自訂 URL 註冊表:團隊為公開或私有分發而託管的遠端登錄清單。
  • 基於檔案的登錄檔:用於開發、測試、離線使用或私有發佈的本地登錄清單。
  • 開發或夜間登錄:為進行中或自動建置的第一方擴充功能提供選擇加入的登錄。 開發者登錄檔中的擴充功能未簽名,不在 Azure 支援 支援範圍內,且可能在不另行通知的情況下更改或移除。
  • 可攜式套件:使用者可直接從本地路徑或 HTTPS URL 安裝的自包含 .zip 套件,無需新增登錄檔來源。

本文利用開發登錄檔來示範發佈到共享測試來源。 關於原始碼與版本解析的詳細資訊,請參閱擴充框架參考。

先決條件

  • 完成 建置範例擴充功能快速入門後得到的擴充功能。
  • azd開發人員延伸模組(microsoft.azd.extensions),提供用來打包與發佈的 azd x 指令。 如果你完成了快速啟動,那它已經安裝好了。 否則,請執行 azd extension install microsoft.azd.extensions。
  • 一個 GitHub 帳號和一個用來存放發佈產物的倉庫。
  • 具有 repo 權限範圍的 GitHub 個人存取權杖(PAT)。 release 指令利用這個令牌來建立 GitHub 發佈並上傳產物。 如需相關資訊,請參閱 管理您的個人存取權杖。

更新版本與變更日誌

在發佈前,請更新版本並記錄你的變更:

  1. 依照version,更新 extension.yaml 中的 屬性。 根據變更類型,增加主要、次要或補丁數量。

  2. 更新 CHANGELOG.md 本版本的顯著變更。 azd 使用 變更日誌來產生發佈說明。

打包擴充功能

請使用 azd x pack 指令建立平台專屬的二進位檔並打包擴充功能:

azd x pack

這個指令會為你的輸出目錄中每個支援平台建立產物。 azd x release 上傳這些產物,並 azd x publish 更新登錄檔的元資料。 封包也會執行快照測試,確認擴充功能在發佈前是否符合預期。

如果你想直接發佈擴充功能,而不是透過登錄檔發佈,請建立一個包含 的套件。azd x pack --bundle 此套件是一個可攜式 .zip ,包含從檔案路徑或 HTTPS URL 安裝所需的登錄檔元資料與工件。

解除擴充功能

使用azd x release指令建立 GitHub 版本並上傳已封裝的工件。 請提供你的 GitHub PAT,讓指令能建立發佈:

azd x release

這個指令會在你的 GitHub 倉庫建立一個版本,上傳打包好的二進位檔,並從你的變更日誌產生發佈說明。 基於登錄檔的發佈會將這些釋出產物作為可下載的擴充套件。 直接套件發佈不需要這個版本,除非你想把套件放在 GitHub。

Tip

把 GitHub PAT 儲存在環境變數裡,而不是直接傳到命令列。 請透過執行 azd x release --help 指令說明查看支援的認證選項。

發佈到登錄檔

請使用 azd x publish 指令在擴充功能登錄檔中新增或更新你的擴充功能條目:

azd x publish

這個指令會更新登錄檔的元資料,讓使用者能從開發登錄檔中發現並安裝你的擴充功能。 此步驟與快速入門中由 azd x init 執行的本機發佈不同,後者只會將擴充功能註冊到您電腦上的本機來源。 執行 azd x publish 會更新共享開發登錄檔,讓其他使用者能安裝你的擴充功能。

安裝並驗證

發佈後,請確認其他人能否從開發登錄檔安裝你的擴充功能:

  1. 確定你已經新增了開發登錄檔。

    azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"
    
  2. 使用其 ID 安裝擴充功能。

    azd extension install contoso.azd.tagger
    
  3. 執行指令確認擴充功能是否正常運作。

    azd tagger show
    

發佈至官方登記冊

若要發佈至官方登錄庫,請將您的擴充功能提交至 azure/azure-dev 儲存庫:

  1. Fork the azure/azure-dev repository.
  2. 把你擴充功能的登錄檔條目加到你 fork 的官方登錄檔裡。
  3. 提交提取請求以供審查。

Azure 開發者 CLI 團隊會在合併前審查官方登錄檔提交的品質與安全性。

疑難排解發布問題

下表列出常見出版問題及其解決方法:

Issue Resolution
釋放失敗時會發生認證錯誤 確認你的 GitHub PAT 有效且有範圍repo。
快照測試在 azd x pack 期間失敗 檢視測試輸出,如果預期有變更就更新快照,然後重新執行指令。
使用者找不到你的擴充功能 確認已新增開發登錄,且 azd x publish 已成功完成。
發佈時的版本衝突 將 version 中的 extension.yaml 遞增為新的未使用版本。