Compartilhar via


Extensões de pacote e publicação

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

Depois de desenvolver sua extensão, você pode empacotá-la e publicá-la no Visual Studio Marketplace. O Marketplace é um repositório global para extensões públicas e privadas, integrações e outras ofertas da Microsoft.

Observação

Para obter informações sobre as propriedades de descoberta disponíveis no arquivo de manifesto da extensão que ajudam os usuários a descobrir e aprender sobre sua extensão, consulte a Referência de manifesto da extensão.

Pré-requisitos

A lista de requisitos a seguir deve ser atendida antes de publicar no Marketplace.

  • Instale a ferramenta de empacotamento de extensão (TFX). Execute npm install -g tfx-cli a partir de um prompt de comando.
  • Certifique-se de que as permissões adequadas sejam concedidas para usar qualquer imagem, por exemplo, ícones, logotipos, capturas de tela e assim por diante.
  • Inclua um arquivo completo overview.md para descrever sua listagem no Marketplace.
  • Inclua um ícone para sua extensão, que tenha pelo menos 128 x 128 pixels de tamanho.
  • Ao se referir a produtos da Microsoft, use nomes completos no lugar de abreviações, por exemplo, Azure DevOps vs. AzDO ou qualquer outra abreviação.
  • Evite usar nomes de marcas no nome da sua extensão.

Criar um editor

Todas as extensões e integrações, incluindo extensões da Microsoft, têm um editor. Qualquer pessoa pode criar um editor e publicar extensões nele. Você também pode dar a outras pessoas acesso ao seu editor se uma equipe estiver desenvolvendo a extensão.

Um usuário é proprietário do editor, normalmente o usuário que o criou. Você também pode compartilhar o editor com outros usuários.

  1. Entre no Portal de Publicação do Visual Studio Marketplace.

  2. Se você ainda não for membro de um editor existente, + Crie um editor. Insira um nome no campo de nome do editor. O campo ID deve ser definido automaticamente com base no nome inserido.

    Captura de tela mostrando o botão destacado, Criar editor.

    Observação

    Anote o ID, pois você precisa defini-lo no arquivo de manifesto da sua extensão.

    Se você não for solicitado a criar um editor, role para baixo até a parte inferior da página e selecione Publicar extensões abaixo de Sites relacionados.

    • Especifique um identificador para seu editor, por exemplo: mycompany-myteam. Esse identificador é usado como o valor do atributo no arquivo de manifesto publisher de extensão.
    • Especifique um nome de exibição para o editor, por exemplo: My Team
  3. Examine o Contrato de Editor do Marketplace e selecione Criar.

    Criar editor para extensão

Depois que o editor é criado, você é direcionado para gerenciar itens, mas não há itens.

Empacotar sua extensão

Para carregar sua extensão, você precisa empacotá-la como um arquivo .vsix compatível com VSIX 2.0. A Microsoft fornece uma CLI (interface de linha de comando) multiplataforma para empacotar e publicar sua extensão.

  1. Abra o arquivo de manifesto da extensão (vss-extension.json) e defina o valor do publisher campo como o ID do editor. Por exemplo:

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. Em um prompt de comando, execute o comando de empacotamento da ferramenta TFX no diretório de extensão.

    npx tfx-cli extension create
    

    Uma mensagem é exibida indicando que sua extensão foi empacotada com sucesso:

    === 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
    

Observação

A versão de uma extensão/integração deve ser incrementada em cada atualização.
Se você não incrementou sua extensão/integração no manifesto, deverá passar a opção de --rev-version linha de comando. Isso incrementa o número da versão do patch da extensão e salva a nova versão no manifesto.

Verifique o tamanho do pacote

Verifique o tamanho do vsix depois que ele for empacotado. Se for maior que 50 MB, você precisa otimizá-lo. Para fazer isso, consulte as seguintes considerações:

  • Desduplicar as dependências comuns, se houver, declarando-as uma vez no pacote de extensão.
  • Busque coisas em tempo de execução ou durante o tempo de instalação, em vez de fornecê-las dentro do pacote. Considere usar a lib do instalador da ferramenta para extrair dependências da ferramenta em runtime. O uso da lib oferece benefícios em que a ferramenta é armazenada em cache por versão, portanto, para agentes privados, ela não baixa todas as compilações. Nós o tornamos uma lib para que possa ser usado fora das tarefas do instalador de ferramentas. Mas, a tarefa não funciona em cenários desconectados (sem internet), que devem estar na descrição/documentação da tarefa.
  • Alguns usuários têm sucesso com o WebPack para sacudir suas dependências em suas tarefas.

Publicar sua extensão

Depois que sua extensão for empacotada, você poderá carregá-la no Marketplace em um editor. O publisher identificador especificado no arquivo de manifesto da extensão deve corresponder ao identificador do editor sob o qual a extensão é carregada.

  1. No portal de gerenciamento, selecione seu editor no menu suspenso na parte superior da página.

  2. Selecione Nova extensão>Azure DevOps.

    Captura de tela mostrando o menu suspenso Nova extensão e seleção realçada do Azure DevOps.

  3. Arraste e solte o arquivo ou selecione-o para localizar o arquivo VSIX, que você criou na etapa de empacotamento anterior, e escolha Carregar.

    Captura de tela mostrando o upload da nova extensão para o Azure DevOps.

    Após a validação rápida, sua extensão aparecerá na lista de extensões publicadas. Não se preocupe, a extensão só é visível para você.

    Captura de tela mostrando a extensão na lista de extensões publicadas.

Neste ponto, sua extensão não está visível para nenhuma conta e não pode ser instalada até que você a compartilhe.

Observação

A Microsoft executa uma verificação de vírus em cada pacote de extensão novo e atualizado publicado. Até que a verificação esteja limpa, não publicamos a extensão no Marketplace para uso público. Dessa forma, também evitamos exibir conteúdo impróprio ou ofensivo nas páginas do Marketplace.

Compartilhe sua extensão

Você deve compartilhar sua extensão com uma organização antes de instalá-la no Azure DevOps. Para compartilhar uma extensão, execute as seguintes tarefas:

  1. No portal de gerenciamento do Marketplace, selecione sua extensão na lista, clique com o botão direito do mouse e escolha Compartilhar/Cancelar compartilhamento ou Publicar/Cancelar publicação, dependendo da extensão.

    Captura de tela da seleção do menu, Compartilhar/Descompartilhar.

  2. Selecione Organização e insira o nome da sua organização. Selecione Enter.

    Captura de tela do botão Enter.

  3. Feche o painel.

Sua extensão agora pode ser instalada nesta organização.

Instale sua extensão

Para instalar sua extensão compartilhada, execute as etapas a seguir.

  1. No Marketplace, selecione sua extensão para abrir sua página de visão geral.

    Captura de tela da página Visão geral.

    Observação

    Como sua extensão é privada, somente você e qualquer membro da organização com a qual ela é compartilhada podem ver esta página.

  2. Selecione Obter gratuitamente para iniciar o processo de instalação. Selecione a organização com a qual você compartilhou a extensão no menu suspenso.

    Captura de tela mostrando a caixa de diálogo de instalação da extensão.

  3. Selecione Instalar.

Parabéns! Você instalou sua extensão em uma organização e está pronto para experimentá-la.

Testar a extensão

  1. Selecione Prosseguir para a organização no final do assistente de instalação para ir para a home page da organização na qual a extensão foi instalada (https://dev.azure.com/{organization}).

  2. Atualize seu navegador.

  3. Abra as configurações da organização e selecione Extensões.

    Captura de tela das configurações da organização, página Extensões.

Você deve ver a nova extensão na guia Instalado .

Depurar sua extensão

Para depurar a extensão usando o Visual Studio ou as Ferramentas de Desenvolvedor do Navegador, altere o manifesto adicionando a baseUri propriedade. Essa ação acelera o desenvolvimento sem a necessidade de reimplantar a extensão sempre que você alterar o código-fonte.

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

Quando você altera o manifesto, ele carrega a extensão da instância do servidor Web local. Por exemplo, IISExpress no Visual Studio. Depois de alterar o manifesto, implante e instale essa extensão de depuração apenas uma vez.

Observação

Execute o servidor Web local no modo SSL porque o Azure DevOps exige que a página da Web seja atendida de uma fonte segura. Caso contrário, você receberá um erro no console do navegador durante o carregamento do IFRAME da extensão.

Atualizar sua extensão

Para alterar uma extensão que já foi publicada, atualize-a.

Dica

Recomendamos atualizar a extensão em vez de remover e recarregar. Também recomendamos ter duas extensões, por exemplo, publisher.extension e publisher.extension-dev. Publisher.extension é público no Marketplace, onde os clientes podem instalá-lo em suas organizações do Azure DevOps. Publisher.extension-dev é mantido privado no Marketplace e pode ser compartilhado com uma organização que você possui e controla. Você não precisa manter duas cópias do código-fonte da extensão. Você pode manter dois arquivos de manifesto - um para cada extensão e, durante o empacotamento da extensão, você pode fornecer o respectivo arquivo de manifesto para a ferramenta tfx-cli. Para obter mais informações sobre os argumentos necessários para a ferramenta, consulte Comandos de extensão do TFX.

  1. Selecione uma extensão na lista de itens exibidos.
  2. Clique com o botão direito do mouse e selecione Atualizar para o publisher.extension-dev, por exemplo.
  3. Valide sua extensão.
  4. Faça as mesmas atualizações na versão de produção, publisher.extension, por exemplo.
  5. Navegue até o .vsix da sua extensão e carregue-a.

A versão atualizada da sua extensão é instalada automaticamente nas contas que já a têm instalada. Novas contas em que a extensão for instalada no futuro também receberão a versão mais recente.

Tornar sua extensão pública

Enquanto você desenvolve sua extensão ou integração para o Marketplace, mantenha-a privada. Para disponibilizar sua extensão publicamente, defina o sinalizador público como true em seu manifesto.

Qualificações

Para ter uma listagem pública no Marketplace, sua integração ou extensão deve atender às seguintes qualificações:

  • Funciona com ou estende o Azure DevOps.
  • Você ou sua empresa possuem, desenvolvem e estão licenciados para distribuir e anunciar a integração ou extensão.
  • A extensão ou integração é mantida ativamente.

A Microsoft também pode solicitar uma demonstração e revisar o conteúdo planejado para sua entrada no Marketplace.

Editora principal

O programa Top Publisher só está disponível para editores com extensões ou integrações do Azure DevOps. Não é aplicável para editores de extensão do Visual Studio IDE e Visual Studio Code.

Captura de tela do selo de Top Publisher.

O programa Top Publisher reconhece os editores com compromisso com seus clientes e com o Marketplace por meio de políticas, qualidade, confiabilidade e suporte exemplares. Depois que você se tornar um Top Publisher, todas as suas ofertas públicas exibirão o selo Top Publisher.

Principais requisitos do editor

O programa Top Publisher no Marketplace foi projetado para ajudá-lo a avaliar ou adquirir extensões e integrações do Azure DevOps com confiança. O selo de Editor Principal implica que o editor demonstra compromisso com seus clientes e com o Marketplace por meio de políticas, qualidade, confiabilidade e suporte exemplares. É para editores com uma ou mais extensões ou integrações globais do Azure DevOps e não é aplicável para editores de extensão do Visual Studio IDE e Visual Studio Code.

O Marketplace atribui o selo a um editor depois de examinar cuidadosamente o editor nos seguintes parâmetros:

  • Política de privacidade
  • Política de licenciamento
  • Diretiva de suporte
  • Documentação
  • Resposta de perguntas e respostas
  • Classificações e comentários para suas ofertas
  • A aceitação ativa e a contagem de instalações para suas ofertas
  • Gerencie pelo menos uma extensão pública do Azure DevOps do editor.
  • A extensão pública deve ter mais de 5000 instalações, com uma contagem de instalações ativas superior a 1000.

Você pode esperar suporte oportuno e uma boa experiência geral ao receber uma extensão de um editor principal. Confira as ofertas dos principais editores.

Para obter mais informações sobre como adicionar políticas à sua oferta, consulte o manifesto da extensão.

  1. Atualize seu perfil de editor.

    Por meio do perfil do editor, você pode exibir todas as suas ofertas em um só lugar, juntamente com as principais informações relacionadas ao editor. Para fornecer as informações que aparecem no perfil, execute as seguintes etapas:

    a. Entre usando https://marketplace.visualstudio.com/manage/publishers a conta com a qual você publica e gerencia suas ofertas no Visual Studio Marketplace.

    b. Selecione o editor e preencha a seção Sobre você na guia Detalhes . Captura de tela da seção sobre você para editores da Microsoft. c. Salve suas alterações e selecione Exibir perfil para ver como ele aparece para os consumidores. Você pode usar esta página de perfil para evangelizar sua(s) oferta(s).

Observação

Por meio desse programa, é a editora que está sendo certificada. Isso não cobre o software ou a segurança de suas extensões e integrações. Recomendamos que você esteja ciente das informações de segurança ao avaliar as ofertas de um editor.

Se você recebeu uma extensão de um editor principal e não está satisfeito com sua experiência, considere entrar em contato com o editor primeiro.

Inscreva-se para ser um Top Publisher

  1. Entre para https://marketplace.visualstudio.com/manage/publishers usar a conta com a qual você publica e gerencia suas ofertas no Marketplace
  2. Selecione o editor e navegue até a guia Top Publisher . Observação: você precisa ter uma ou mais extensões ou integrações globais do Azure DevOps (Servidor/Serviço) para que a guia apareça.
  3. Se você atender a parte dos requisitos listados anteriormente e for o proprietário do editor, verá uma opção para se inscrever no programa. Na inscrição, um e-mail é enviado à equipe do Marketplace para analisar seu caso. Eles respondem em menos de 10 dias úteis com os próximos passos, esclarecendo dúvidas ou com a concessão do crachá.

A equipe provavelmente analisa outros parâmetros, como aceitação ativa de suas ofertas, contagens de instalação/introdução e classificações e avaliações em suas ofertas antes de conceder o selo. A Microsoft reserva-se o direito de conceder, rejeitar ou revogar o selo de Editor Principal a qualquer momento.

Depois que um editor é um editor principal, todas as suas atualizações e ofertas futuras devem atender aos requisitos listados anteriormente.

Responder às revisões de extensão do Marketplace

Você pode responder às avaliações que os clientes deixam para suas extensões no Visual Studio Marketplace. Encontre e selecione Responder ao lado de uma avaliação se você tiver uma das seguintes permissões: proprietário, criador ou colaborador.

Você pode deixar apenas uma resposta. Evite usar avaliações como um fórum de suporte. Se precisar de mais detalhes, forneça um alias de suporte para o revisor entrar em contato. Você pode então resolver seus problemas externamente e atualizar sua resposta com uma resolução.

Diretrizes para respostas do editor

Mantenha o Visual Studio Marketplace um local aberto, convidativo, respeitoso e útil para os clientes encontrarem, experimentarem, instalarem e examinarem extensões. A comunicação desempenha um papel importante na manutenção de uma comunidade saudável. Para ajudar a criar esse ambiente, aqui estão as diretrizes para editores que respondem às avaliações dos clientes. Pense profundamente sobre suas interações com o cliente e reflita sobre o espírito da experiência do cliente que o Marketplace está tentando criar.

  • As avaliações são reservadas para comentários de clientes. Use Responder apenas para responder a uma avaliação.
  • As avaliações são para compartilhar opiniões de clientes, portanto , todas as opiniões são válidas. Os clientes têm direito às suas opiniões, portanto, trate os comentários respeitosamente como feedback sem debate, crítica ou argumento.
  • Certifique-se de que suas respostas agreguem valor e sejam relevantes para os comentários de seus clientes.
  • Concentre-se em abordar com precisão questões ou problemas. Se precisar de mais detalhes, peça ao cliente para entrar em contato com você por e-mail, em vez de discutir nas avaliações. Ao resolver o problema, atualize sua resposta com a resolução. Você pode editar sua resposta, assim como os clientes podem editar suas avaliações.
  • Se você encontrar avaliações inadequadas, como spam, conteúdo abusivo ou ofensivo, para qualquer extensão, sinalize-a para nossa análise.

Pedido de anulação de uma avaliação

Como editor, você pode contestar a anulação de uma avaliação se o problema relatado for devido ao Marketplace ou à plataforma subjacente. Se o problema for válido, os administradores do Marketplace anularão a classificação. Você pode apelar na seção de classificações e avaliações na página do hub de extensão.

Cancelar a publicação de uma extensão

Você pode cancelar a publicação de extensões gratuitas se não quiser mais oferecê-las no Marketplace.

Os cenários a seguir abordam quando você pode querer remover sua extensão do Marketplace:

  • Você desenvolveu outra extensão e não quer mais oferecer a atual.
  • Sua extensão tem um problema, portanto, você deseja removê-la do Marketplace até resolver o problema.
  • Você publicou sua extensão como pública por engano.

Certos critérios devem ser atendidos para que uma extensão seja cancelada ou removida:

Ação Requisitos
Cancelar Publicação Somente extensões gratuitas podem ser despublicadas.
Remove Sua extensão deve ter zero (0) instalações para ser removida.

Importante

Se você precisar remover sua extensão devido a problemas legais ou de segurança, entre em contato com o Suporte ao Cliente na Comunidade de Desenvolvedores. Analisamos a solicitação e excluímos manualmente a extensão.

  1. Selecione a extensão na página do editor e escolha Cancelar publicação no menu.

    Sua extensão é cancelada imediatamente no Marketplace e novos usuários não podem instalá-la. As classificações e comentários da sua extensão permanecem intactos.

Para oferecer sua extensão novamente no Marketplace, escolha Publicar no menu.

Você também pode optar por remover sua extensão completamente do Marketplace se sua extensão tiver zero (0) instalações. Para fazer isso, escolha Remover no menu. Essa ação não pode ser desfeita.