當你建立 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 發佈並上傳產物。 如需相關資訊,請參閱 管理您的個人存取權杖。
更新版本與變更日誌
在發佈前,請更新版本並記錄你的變更:
更新
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 會更新共享開發登錄檔,讓其他使用者能安裝你的擴充功能。
安裝並驗證
發佈後,請確認其他人能否從開發登錄檔安裝你的擴充功能:
確定你已經新增了開發登錄檔。
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"使用其 ID 安裝擴充功能。
azd extension install contoso.azd.tagger執行指令確認擴充功能是否正常運作。
azd tagger show
發佈至官方登記冊
若要發佈至官方登錄庫,請將您的擴充功能提交至 azure/azure-dev 儲存庫:
- Fork the azure/azure-dev repository.
- 把你擴充功能的登錄檔條目加到你 fork 的官方登錄檔裡。
- 提交提取請求以供審查。
Azure 開發者 CLI 團隊會在合併前審查官方登錄檔提交的品質與安全性。
疑難排解發布問題
下表列出常見出版問題及其解決方法:
| Issue | Resolution |
|---|---|
| 釋放失敗時會發生認證錯誤 | 確認你的 GitHub PAT 有效且有範圍repo。 |
快照測試在 azd x pack 期間失敗 |
檢視測試輸出,如果預期有變更就更新快照,然後重新執行指令。 |
| 使用者找不到你的擴充功能 | 確認已新增開發登錄,且 azd x publish 已成功完成。 |
| 發佈時的版本衝突 | 將 version 中的 extension.yaml 遞增為新的未使用版本。 |