Partilhar via


Publicar a partir da linha de comando

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Você pode usar a CLI de plataforma cruzada para Azure DevOps (tfx-cli) para publicar sua extensão no Visual Studio Marketplace.

Para obter mais informações, consulte a visão geral sobre publicar, instalar e compartilhar do .

Pré-requisitos

Obtenha a CLI TFX do Gestor de Pacotes Node e gere um token Microsoft Entra ou um token de acesso pessoal (PAT). Além disso, se ainda não o fez, configure um Editor na Galeria.

Obtenha a CLI multiplataforma para Azure DevOps

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

  2. Abra um prompt de comando e digite 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 do Microsoft Entra como principal de serviço

Também é possível publicar uma extensão como um principal de serviço .

  1. Adicione o principal de serviço como membro numa conta de editor. Você pode obter o ID da entidade de serviço a partir do perfil usando Perfis - Obter. Em seguida, você pode adicionar a entidade de serviço como membro ao editor usando a ID da etapa anterior.

  2. Publique uma extensão por meio da CLI do TFX usando uma entidade de serviço. Execute o seguinte comando da CLI do 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. Inicie sessão na sua organização (https:dev.azure.com/{organization}).

  2. Na sua página inicial, abra o ícone de configurações do usuário e selecione Perfil.

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

  3. Em Segurança, selecione Tokens de acesso pessoale, em seguida, selecione Novo Token.

    Crie seu novo token de acesso pessoal

  4. Preencha o formulário:

    • Dê um nome ao seu token
    • Selecione Todas as organizações acessíveis, que é o único valor que funciona ao publicar via CLI. Se selecionar apenas uma organização, isso resultará num erro, mesmo que a PAT seja válida
    • Selecione um período de expiração para o seu 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 (publicar). 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.

    Copie o seu token e guarde-o em segredo

Assim que a CLI do TFX estiver instalada e você tiver seu token, poderá usar a ferramenta para empacotar e publicar sua extensão.

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

Erros potenciais

Poderá receber o seguinte erro se a 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 patch da sua extensão. Isso também salva a nova versão no seu manifesto.

Observação

Todas as opções disponíveis para create estão disponíveis para o comando 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