Publikování rozšíření

Po sestavení rozšíření Azure Developer CLI (azd) ho zabalte a publikujte do registru, aby ho mohli nainstalovat jiní uživatelé. V tomto článku se dozvíte, jak publikovat ukázkové rozšíření Contoso Resource Tagger z rychlého startu Sestavení ukázkového rozšíření. Stejný postup můžete použít u libovolného rozšíření.

Note

Architektura azd rozšíření je obecně dostupná. Jednotlivá rozšíření nebo možnosti můžou mít svůj vlastní stav Preview.

Volba registru

azd dokáže přeložit rozšíření z oficiálního registru, vlastních manifestů registru založených na adrese URL, manifestů registru založených na souborech a přenosných souborů sady. Zvolte distribuční přístup, který odpovídá způsobu instalace rozšíření uživatelům:

  • Úřední rejstřík: Rejstřík, který se dodává s azd. Chcete-li zde publikovat, odešlete pull request do forku repozitáře azure/azure-dev.
  • Vlastní registr založený na adrese URL: Vzdálený manifest registru, který váš tým hostuje pro veřejnou nebo privátní distribuci.
  • Registr založený na souborech: Manifest místního registru pro vývoj, testování, offline použití nebo privátní distribuci.
  • Vývoj nebo noční registr: Registr výslovného souhlasu pro probíhající práci nebo automatické vytváření rozšíření první strany. Rozšíření v registru pro vývoj jsou nepodepsaná, nejsou pokryta podpora Azure a je možné je změnit nebo odebrat bez předchozího upozornění.
  • Přenosná sada: Samostatný .zip balíček, který uživatelé nainstalují přímo z místní cesty nebo adresy URL HTTPS bez přidání zdroje registru.

Tento článek používá vývojový registr k předvedení publikování do sdíleného zdroje testu. Podrobnosti o překladu zdrojové verze a verze najdete v referenčních informacích k rozhraní rozšíření.

Předpoklady

  • Dokončené rozšíření vytvořené podle rychlého úvodu k vytvoření ukázkového rozšíření.
  • Vývojářské rozšíření azd (microsoft.azd.extensions), které poskytuje příkazy azd x používané k zabalení a publikování. Pokud jste dokončili rychlý start, je už nainstalovaný. V opačném případě spusťte azd extension install microsoft.azd.extensions.
  • Účet na GitHubu a repozitář pro hostování artefaktů vydání.
  • Osobní přístupový token GitHubu (PAT) s rozsahem repo. Příkaz release používá tento token k vytváření vydání na GitHubu a nahrávání artefaktů. Další informace najdete v tématu Správa osobních přístupových tokenů.

Aktualizace verze a protokolu změn

Před publikováním aktualizujte verzi a dokument změn:

  1. Aktualizujte vlastnost version v extension.yaml v souladu s sémantickým verzováním. Podle typu změny zvyšte hlavní, vedlejší nebo opravné číslo verze.

  2. Aktualizujte CHANGELOG.md o významné změny pro tuto verzi. azd používá protokol změn k vygenerování poznámek k verzi.

Zabalte rozšíření

azd x pack Pomocí příkazu sestavte binární soubory specifické pro platformu a zabalte rozšíření:

azd x pack

Příkaz vytvoří artefakty pro každou podporovanou platformu ve vašem výstupním adresáři. azd x release nahraje tyto artefakty a azd x publish aktualizuje metadata registru. Zabalení také spustí testy snímků, které ověří, že se rozšíření chová podle očekávání před publikováním.

Pokud chcete rozšíření distribuovat přímo místo publikování prostřednictvím registru, vytvořte samostatnou sadu se azd x pack --bundlesadou . Sada je přenosná, .zip která obsahuje metadata registru a artefakty potřebné k instalaci z cesty k souboru nebo adresy URL HTTPS.

Uvolněte rozšíření.

Použijte příkaz azd x release k vytvoření verze na GitHubu a nahrání zabalených artefaktů. Zadejte GitHub PAT, aby příkaz mohl vytvořit verzi:

azd x release

Příkaz vytvoří v úložišti GitHub verzi, nahraje zabalené binární soubory a vygeneruje poznámky k verzi z protokolu změn. Publikování na základě registru používá tyto artefakty vydané verze jako balíčky rozšíření ke stažení. Distribuce přímých balíčků nevyžaduje tento krok vydání, pokud nechcete balíček hostovat v GitHub.

Tip

Uložte GitHub PAT v proměnné prostředí místo jeho předávání na příkazovém řádku. Projděte si nápovědu k příkazu spuštěním příkazu azd x release --help k podporovaným možnostem ověřování.

Publikování do registru

azd x publish Pomocí příkazu přidejte nebo aktualizujte položku rozšíření v registru rozšíření:

azd x publish

Příkaz aktualizuje metadata registru, aby uživatelé mohli vyhledat a nainstalovat rozšíření z vývojového registru. Tento krok se liší od místního publikování, které azd x init provádí v rychlém úvodu a při kterém se rozšíření zaregistruje pouze do místního zdroje ve vašem počítači. Spuštěním azd x publish se aktualizuje sdílený vývojový registr, aby si ostatní uživatelé mohli nainstalovat vaše rozšíření.

Instalace a ověření

Po publikování ověřte, že vaše rozšíření můžou nainstalovat jiní uživatelé z vývojového registru:

  1. Ujistěte se, že jste už přidali registr pro vývoj.

    azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"
    
  2. Nainstalujte rozšíření podle jeho ID.

    azd extension install contoso.azd.tagger
    
  3. Spuštěním příkazu potvrďte, že rozšíření funguje.

    azd tagger show
    

Publikování do oficiálního rejstříku

Pokud chcete publikovat do oficiálního registru, odešlete rozšíření do úložiště azure/azure-dev:

  1. Vytvořte fork repozitáře azure/azure-dev.
  2. Přidejte položku registru vašeho rozšíření do oficiálního souboru registru ve svém forku.
  3. Odešlete žádost o přijetí změn ke kontrole.

Tým Azure Developer CLI před jejich sloučením kontroluje příspěvky do oficiálního registru z hlediska kvality a zabezpečení.

Řešení potíží s publikováním

Následující tabulka uvádí běžné problémy s publikováním a jejich řešení:

Issue Resolution
Nasazení se nezdaří kvůli chybě ověřování Ověřte platnost GitHub PAT a rozsahrepo.
Snapshot testy selhávají během azd x pack Zkontrolujte výstup testu, aktualizujte snímky, pokud se změny očekávají, a spusťte příkaz znovu.
Uživatelé nemůžou najít vaše rozšíření Ověřte, že je přidán registr vývoje a že azd x publish proběhl úspěšně.
Konflikt verzí během publikování Zvyšte verzi version v extension.yaml na novou, dosud nepoužitou verzi.