Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Depois de criares uma extensão Azure Developer CLI (azd), empacote-a e publica-a num registo para que outros possam instalá-la. Este artigo mostra como publicar a extensão de exemplo Contoso Resource Tagger a partir do guia de início rápido Criar uma extensão de exemplo. Podes aplicar os mesmos passos a qualquer extensão.
Note
O azd framework de extensão está geralmente disponível. Extensões ou capacidades individuais podem ter o seu próprio estado de pré-visualização.
Escolha um registo
azd podem resolver extensões do registo oficial, manifestos personalizados baseados em URL, manifestos baseados em ficheiros e pacotes portáteis. Escolha a abordagem de distribuição que corresponda à forma como os utilizadores instalam a sua extensão:
-
Registo oficial: O registo que envia com
azd. Para publicar aqui, envia um pull request para um fork do repositório azure/azure-dev. - Registo personalizado baseado em URL: Um manifesto de registo remoto que a sua equipa aloja para distribuição pública ou privada.
- Registo baseado em ficheiros: Um manifesto local de registo para desenvolvimento, testes, uso offline ou distribuição privada.
- Registo de desenvolvimento ou noturno: Um registo opt-in para extensões de trabalho em progresso ou construídas automaticamente. As extensões no registo de programadores não têm assinatura, não estão cobertas pelo suporte do Azure, e podem ser alteradas ou removidas sem aviso prévio.
-
Pacote portátil: Um pacote autónomo
.zipque os utilizadores instalam diretamente a partir de um caminho local ou URL HTTPS, sem adicionar uma fonte de registo.
Este artigo utiliza o registo de desenvolvimento para demonstrar a publicação numa fonte de teste partilhada. Para detalhes de origem e resolução de versões, consulte a referência do framework de extensão.
Pré-requisitos
- Uma extensão concluída do quickstart Build a sample extension.
- A
azdextensão de programador (microsoft.azd.extensions), que disponibiliza osazd xcomandos utilizados para empacotar e publicar. Se completaste o quickstart, já está instalado. Caso contrário, executeazd extension install microsoft.azd.extensions. - Uma conta no GitHub e um repositório para armazenar os artefactos de lançamento.
- Um token de acesso pessoal do GitHub (PAT) com o âmbito
repo. O comando release usa este token para criar releases no GitHub e carregar artefactos. Para obter mais informações, consulte Gerenciando seus tokens de acesso pessoais.
Atualizar a versão e o registo de alterações
Antes de publicar, atualize a versão e documente as suas alterações:
Atualize a propriedade
versionemextension.yaml, de acordo com o versionamento semântico. Incremente o número principal, menor ou de patch consoante o tipo de alteração.Atualização
CHANGELOG.mdcom as alterações notáveis desta versão.azdUsa o changelog para gerar notas de lançamento.
Empacotar a extensão
Use o azd x pack comando para construir binários específicos da plataforma e empacotar a extensão:
azd x pack
O comando cria artefactos para cada plataforma suportada no seu diretório de saída.
azd x release carrega estes artefactos e azd x publish atualiza os metadados do registo. A embalagem também executa testes snapshot para verificar se a extensão se comporta como esperado antes de publicar.
Se quiser distribuir uma extensão diretamente em vez de a publicar através de um registo, crie um bundle autónomo com azd x pack --bundle. O bundle é um portátil .zip que contém os metadados do registo e artefactos necessários para a instalação a partir de um caminho de ficheiro ou URL HTTPS.
Libertar a extensão
Utilize o comando azd x release para criar uma versão do GitHub e carregar os artefactos empacotados. Forneça o seu PAT do GitHub para que o comando possa criar a release:
azd x release
O comando cria uma release no teu repositório GitHub, carrega os binários empacotados e gera notas de release a partir do teu changelog. A publicação baseada em registos utiliza estes artefactos de lançamento como pacotes de extensão descarregáveis. A distribuição direta de bundles não requer esta etapa de lançamento, a menos que queira hospedar o bundle no GitHub.
Tip
Guarda o teu PAT do GitHub numa variável de ambiente em vez de o passar pela linha de comandos. Verifique a ajuda de comandos correndo azd x release --help para as opções de autenticação suportadas.
Publicar no registo
Use o azd x publish comando para adicionar ou atualizar a entrada da sua extensão no registo de extensões:
azd x publish
O comando atualiza os metadados do registo para que os utilizadores possam descobrir e instalar a sua extensão a partir do registo de desenvolvimento. Esta etapa difere da publicação local que azd x init executa no quickstart, que regista a extensão apenas para uma fonte local na sua máquina. A execução azd x publish atualiza o registo de desenvolvimento partilhado para que outros utilizadores possam instalar a sua extensão.
Instalar e verificar
Depois de publicar, verifique se outros podem instalar a sua extensão a partir do registo de desenvolvimento:
Certifica-te de que já adicionaste o registo de desenvolvimento.
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"Instala a extensão pelo seu ID.
azd extension install contoso.azd.taggerExecuta um comando para confirmar que a extensão funciona.
azd tagger show
Publicar no registo oficial
Para publicar no registo oficial, submeta a sua extensão ao repositório azure/azure-dev:
- Faz um fork no repositório azure/azure-dev.
- Adicione a entrada do registo da sua extensão ao ficheiro de registo oficial no seu fork.
- Envie um pull request para revisão.
A equipa do Azure Developer CLI analisa as submissões oficiais do registo quanto à qualidade e segurança antes da fusão.
Resolver problemas de publicação
A tabela seguinte lista as questões editoriais comuns e as suas resoluções:
| Issue | Resolução |
|---|---|
| O lançamento falha com um erro de autenticação | Verifique se o seu PAT do GitHub é válido e inclui o âmbito repo. |
Os testes de instantâneo falham durante azd x pack |
Revise o resultado do teste, atualize os seus snapshots se as alterações forem esperadas e execute novamente o comando. |
| Os utilizadores não conseguem encontrar a sua extensão | Confirme que o registo de desenvolvimento foi adicionado e que azd x publish tenha sido concluído com êxito. |
| Conflito de versões durante a publicação | Incremente o version em extension.yaml para uma nova versão ainda não utilizada. |