Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Você pode usar a CLI multiplataforma do Azure DevOps (tfx-cli) para publicar sua extensão no Visual Studio Marketplace.
Para obter mais informações, consulte a visão geral de publicação, instalação e compartilhamento.
Pré-requisitos
Obtenha a CLI do TFX usando o npm (Node Package Manager) e gere um token do Microsoft Entra ou um PAT (token de acesso pessoal). Além disso, se ainda não tiver, configure um Publicador na Galeria.
Obter a Interface de Linha de Comando multiplataforma para o Azure DevOps
Se você não tiver, baixe e instale o NodeJS. Durante a configuração, certifique-se de deixar Adicionar ao PATH selecionado.
Abra um prompt de comando e insira
npm i -g tfx-cli.
Se você já tiver a CLI do TFX instalada, poderá atualizar para a versão mais recente executando npm up -g tfx-cli.
Publicar com um token Microsoft Entra como uma entidade de serviço
Também é possível publicar uma extensão como uma entidade de serviço.
- Adicione a entidade de serviço como membro a uma conta de publicador. Você pode obter a ID do principal de serviço por meio da API REST, fazendo logon através do Azure CLI e consultando o perfil do principal de serviço. Isso pode ser feito com os seguintes comandos:
az login --service-principal --username <appId> --password <password> --tenant <tenant-id>
# 499b84ac-1321-427f-aa17-267ca6975798 specifies azure devops as a resource
az rest -u https://app.vssps.visualstudio.com/_apis/profile/profiles/me --resource 499b84ac-1321-427f-aa17-267ca6975798
Em seguida, você pode adicionar a entidade de serviço como membro ao editor usando a ID da etapa anterior.
- Publique uma extensão por meio da CLI TFX usando uma entidade de serviço. Execute o seguinte comando da CLI TFX para usar seu token de acesso:
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>
Publicar com um token de acesso pessoal
Entre em sua organização (
https:dev.azure.com/{organization}).Na home page, abra o ícone de configurações do usuário e selecione Perfil.
Em Segurança, selecione Tokens de acesso pessoal e selecione Novo Token.
Preencha o formulário:
- Nomeie seu token
- Selecione Todas as organizações acessíveis, que é o único valor que funciona ao publicar por meio da CLI. Se você selecionar apenas uma organização, isso resultará em um erro, mesmo que o PAT seja válido
- Selecione um período de expiração para o token. Isso é necessário porque as APIs de publicação do Visual Studio Marketplace funcionam fora do contexto de uma organização
- Defina o escopo de acesso associado a esse token. Certifique-se de selecionar o escopo Marketplace (publicação). Esse escopo limita o token a apenas poder publicar extensões no Marketplace.
- Selecione Criar
Copie o token de acesso pessoal gerado. Certifique-se de mantê-lo em segredo.
Depois que a CLI do TFX estiver instalada e você tiver seu token, você poderá usar a ferramenta para empacotar e publicar sua extensão.
- Abra um prompt de comando para o diretório raiz da extensão.
- Execute o comando a seguir para publicar sua extensão. Quando solicitado, insira seu token para autenticar.
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>
Possíveis erros
Você poderá receber o seguinte erro se sua extensão já tiver sido publicada:
Failed Request: Internal Server Error(500) - Version number must increase each time an extension is published. Extension: fabrikam.my-extension Current version: 0.1.9 Updated version: 0.1.9
Você pode adicionar o sinalizador --rev-version para incrementar automaticamente a versão do patch da sua extensão. Isso também salva a nova versão em seu manifesto.
Observação
Todas as opções disponíveis para o comando create estão disponíveis para publish.
Exemplo
C:\vso-team-calendar>tfx extension publish --publisher publishFabrikam --manifest-js fabrikam.config.js --share-with fabrikam --rev-version
Copyright Microsoft Corporation
> Personal access token:
Checking if this extension is already published
It is, update the extension
Waiting for server to validate extension package...
Sharing extension with fabrikam.
=== Completed operation: publish extension ===
- Packaging: C:\vso-team-calendar\fabrikam.team-calendar-0.2.6.vsix
- Publishing: success
- Sharing: shared with fabrikam