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 privadas e públicas, 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 ajuda 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). Executar npm install -g tfx-cli a partir de um prompt de comando.
  • Certifique-se de que as permissões adequadas sejam concedidas para usar quaisquer imagens, 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 128x128 pixels de tamanho.
  • Quando você 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.
  • Abster-se de usar nomes de marca 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 sob ele. Você também pode dar a outras pessoas acesso ao seu editor se uma equipe estiver desenvolvendo a extensão.

Um usuário é o 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 é membro de um editor existente, + Criar um editor. Insira um nome no campo Nome do editor. O campo ID deve ser definido automaticamente com base no nome inserido.

    Captura de tela mostrando o botão realçado, Criar editor.

    Observação

    Anote o ID, pois você precisa defini-lo no arquivo de manifesto de 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 para o atributo no arquivo de manifesto publisher de extensão.
    • Especifique um nome de exibição para o editor, por exemplo: My Team
  3. Revise 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 interface de linha de comando (CLI) de plataforma cruzada para empacotar e publicar sua extensão.

  1. Abra o arquivo de manifesto de extensão (vss-extension.json) e defina o publisher valor do campo como a 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 êxito:

    === 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, você deve passar a opção de linha de --rev-version comando. Isso incrementa o número da versão do patch da extensão e salva a nova versão no manifesto.

Verificar o tamanho do pacote

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

  • Desduplice 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 tempo de execução. 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 da ferramenta. Mas, a tarefa não funciona em cenários desconectados (sem internet), que devem estar na descrição/docs da tarefa.
  • Alguns usuários têm sucesso com o WebPack para agitar suas dependências em suas tarefas.

Publicar sua extensão

Depois que sua extensão for empacotada, você poderá carregá-la no Marketplace sob um editor. O publisher identificador especificado no arquivo de manifesto da extensão deve corresponder ao identificador do editor no 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 a seleção de DevOps do Azure realçada.

  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 Upload de nova extensão para o Azure DevOps.

    Após a validação rápida, sua extensão aparece 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 clara, não publicamos a extensão no Marketplace para uso público. Dessa forma, também evitamos a exibição de 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/Cancelar compartilhamento.

  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.

Experimente sua extensão

  1. Selecione Continuar 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 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 Browser Developer Tools, altere o manifesto adicionando a baseUri propriedade. Essa ação acelera o desenvolvimento sem a necessidade de reimplantar a extensão cada vez que você altera 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 seu 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 da extensão IFRAME.

Atualizar sua extensão

Para alterar uma extensão já 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 de DevOps do Azure. 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 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.extensionpor exemplo.
  5. Navegue até o .vsix para sua extensão e carregue-a.

A versão atualizada da sua extensão é instalada automaticamente em contas que já a tenham instalada. Novas contas onde a extensão é instalada no futuro também recebem a versão mais recente.

Torne 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 são proprietários, desenvolvem e sã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.

Top Editora

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 Top Publisher.

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

Principais requisitos do Publisher

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 Top Publisher implica que o editor mostra compromisso com seus clientes e com o Marketplace por meio de políticas exemplares, qualidade, confiabilidade e suporte. É 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 revisá-lo cuidadosamente nos seguintes parâmetros:

  • Política de privacidade
  • Política de licenciamento
  • Diretiva de suporte
  • Documentação
  • Q & Uma capacidade de resposta
  • Classificações e revisão de suas ofertas
  • A captação ativa e a contagem de instalação 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ção ativa superior a 1000.

Você pode esperar suporte oportuno e uma boa experiência geral ao receber uma extensão de um Top Publisher. Confira as ofertas das principais editoras.

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

Através deste 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 Top Publisher e não está satisfeito com sua experiência, considere se envolver com o editor primeiro.

Inscreva-se para ser um Top Publisher

  1. https://marketplace.visualstudio.com/manage/publishers Faça login para usar a conta com a qual você publica e gerencia suas ofertas no Marketplace
  2. Selecione o editor e navegue até a guia Editor principal. 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. No aplicativo, um e-mail é enviado para a 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 avaliaçõ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 Melhor Publicador a qualquer momento.

Uma vez que um editor é um Top Publisher, todas as suas futuras atualizações e ofertas devem atender aos requisitos listados anteriormente.

Responder a avaliações de extensões do Marketplace

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

Você pode deixar apenas uma resposta. Evite usar comentários como um fórum de suporte. Se você precisar de mais detalhes, forneça um alias de suporte para o revisor entrar em contato. Em seguida, você pode 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 revisarem 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 a avaliações de clientes. Pense profundamente nas 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 somente para responder a uma revisão.
  • As avaliações servem para compartilhar as opiniões dos clientes, portanto , todas as opiniões são válidas. Os clientes têm direito às suas opiniões, por isso 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 precisamente questões ou problemas. Se você precisar de mais detalhes, peça ao cliente para entrar em contato com você por e-mail, em vez de discutir em comentários. Quando você 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ê se deparar com comentários inadequados, como spam, conteúdo abusivo ou ofensivo, para qualquer extensão, sinalize-o para nossa revisão.

Pedido de anulação de revisão

Como editor, você pode recorrer para anular uma revisã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 da seção de classificações e revisão 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 abrangem 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, então você deseja remover sua extensão do Marketplace até resolver o problema.
  • Você publicou sua extensão como pública por engano.

Alguns critérios devem ser atendidos para que uma extensão seja inédita ou removida:

Ação Requisitos
Cancelar Publicação Apenas extensões gratuitas podem ser inéditas.
Remover Sua extensão deve ter zero (0) instalações a serem removidas.

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 não é publicada imediatamente no Marketplace e novos usuários não podem instalá-la. As classificações e avaliações para a sua extensão permanecem intactas.

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.