Publicar pacotes NuGet a partir da linha de comando (NuGet.exe)

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

Este artigo orienta você na configuração do projeto e na publicação dos pacotes NuGet usando a interface de linha de comando do NuGet.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Um feed de Artefatos do Azure .
- Descarregar e instalar nuget.exe versão 4.8.0.5385 ou posterior. Recomendamos o NuGet 5.5.x ou posterior, que inclui correções importantes de bugs para cancelamentos e timeouts.

Configurar o fornecedor de credenciais do Artefactos do Azure

O Artefactos do Azure Credential Provider permite a autenticação segura dos seus feeds Artefactos do Azure. Para o utilizar com o nuget.exe, tem primeiro de o adicionar ao caminho de pesquisa de plug-ins do NuGet. Para mais detalhes, consulte Instalação e descoberta de plugins. Depois de adicionar o plugin, siga os passos de instalação do seu sistema operativo:

Use um dos seguintes métodos para instalar o Artefactos do Azure Credential Provider:

Instalação manual

  1. Descarregue a versão mais recente Microsoft.NetFx48.NuGet.CredentialProvider.zip.

  2. Extraia o arquivo zip.

  3. Copie a netfx pasta do arquivo extraído para %UserProfile%/.nuget/plugins/. A netfx pasta é necessária para nuget.exe compatibilidade.

Instale usando o script auxiliar

Em alternativa, pode usar o script de ajuda automática para uma instalação simplificada. Certifique-se de que tem PowerShell 5.1 ou mais recente e depois execute:

iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"

Para mais informações, consulte o repositório Artefactos do Azure Credential Provider.

Conectar-se a um feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatose, em seguida, selecione o seu feed no menu suspenso.

  3. Selecione Ligar ao feede, em seguida, selecione NuGet.exe no painel de navegação esquerdo.

  4. Adicione um ficheiro nuget.config ao seu projeto, na mesma pasta que o seu ficheiro .csproj ou .sln. Cole o trecho XML fornecido em seu arquivo. O trecho deve ter a seguinte aparência:

    • Feed com âmbito da organização:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Feed com escopo de projeto:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Entre no servidor de DevOps do Azure e navegue até o projeto.

  2. Selecione Artefatose, em seguida, selecione o seu feed.

  3. Selecione Ligar ao Feede, em seguida, selecione NuGet.exe no painel de navegação esquerdo.

  4. Siga as instruções na seção de configuração do Project para se conectar ao seu feed.

Publicar pacotes num feed na mesma organização

Observação

Para publicar pacotes num feed, deve ser um Editor de Feed (Contribuidor) ou superior. Consulte Gerenciar permissões para obter mais detalhes.

Execute o seguinte comando para publicar um pacote no seu feed. Substituir os marcadores de posição pelos valores apropriados:

nuget push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

Exemplo:

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

Observação

O api-key é necessário, mas você pode fornecer qualquer cadeia de caracteres como seu valor ao publicar em um feed de Artefatos do Azure.

Publicar pacotes num feed numa outra organização

Para publicar seus pacotes NuGet em um feed em uma organização diferente do Azure DevOps, você deve primeiro criar um token de acesso pessoal (PAT) na organização de destino.

  1. Navegue até a organização que hospeda o feed de destino e crie um token de acesso pessoal (PAT) com escopo de Empacotamento>Ler & gravar.

  2. Execute o seguinte comando para adicionar a origem do pacote ao arquivo nuget.config. Isto adicionará o seu PAT ao seu ficheiro nuget.config. Armazene esse arquivo em um local seguro e certifique-se de não verificá-lo no controle do código-fonte.

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Execute o seguinte comando para publicar seu pacote:

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

Exemplo:

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

Observação

Se a sua organização estiver a usar um firewall ou um servidor proxy, certifique-se de autorizar os URLs de Domínio de Artefatos do Azure e endereços de IP.