Compartilhar via


Publicar na linha de comando

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

  1. Se você não tiver, baixe e instale o NodeJS. Durante a configuração, certifique-se de deixar Adicionar ao PATH selecionado.

  2. 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.

  1. 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.

  1. 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

  1. Entre em sua organização (https:dev.azure.com/{organization}).

  2. Na home page, abra o ícone de configurações do usuário e selecione Perfil.

    Selecionar Perfil depois de selecionar o ícone de configurações do usuário

  3. Em Segurança, selecione Tokens de acesso pessoal e selecione Novo Token.

    Criar seu novo token de acesso pessoal

  4. 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

    ..

  5. Copie o token de acesso pessoal gerado. Certifique-se de mantê-lo em segredo.

    Copiar seu token e 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.

  1. Abra um prompt de comando para o diretório raiz da extensão.
  2. 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