Partilhar via


Publicar pacotes NuGet a partir da linha de comando (dotnet)

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

Este guia orienta você na configuração do seu projeto para publicar pacotes NuGet usando a interface de linha de comando dotnet.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Um feed de Artefatos do Azure .
- Baixe e instale o Azure Artifacts Credential Provider.
- Baixe e instale SDK do .NET Core (2.1.400+).

Criar um feed

Se já tiver um feed, avance para o passo seguinte. Caso contrário, siga as instruções abaixo para criar um novo:

  1. Entre no seu Azure DevOps e navegue até o seu projeto.

  2. Selecione Artifacts e, em seguida, selecione Create Feed.

  3. Insira um Nome descritivo para seu feed e defina sua Visibilidade (quem pode usar seu feed). Especifique o Escopo do seu feed e, se desejar incluir pacotes de fontes públicas, marque a caixa de seleção Incluir pacotes de fontes públicas comuns .

  4. Selecione Criar quando terminar.

Conectar-se a um feed

Antes de publicar pacotes em seu feed, você deve autenticar com o Azure Artifacts. Siga as instruções abaixo para configurar seu projeto e autenticar com seu feed:

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

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

  3. Selecione Ligar ao feede, em seguida, selecione dotnet na seção NuGet à esquerda.

  4. Crie um arquivo nuget.config na mesma pasta que a csproj ou sln arquivo. Copie o seguinte trecho XML e cole-o em seu novo arquivo, substituindo os espaços reservados pelas informações relevantes:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="<FEED_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 Conectar ao Feed, depois selecione dotnet 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.

    Uma captura de tela mostrando como se conectar a um feed com dotnet no Azure DevOps Server 2020 e 2022.

Publicar pacotes num feed na mesma organização

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

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Exemplo:

dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Observação

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

Publicar pacotes num feed numa organização diferente

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, adicionar a nova fonte do pacote ao arquivo de configuração e executar o comando publicar:

  1. Navegue até à organização que está a alojar o feed de destino e crie um token de acesso pessoal (PAT) com o escopo de Packaging Ler & gravar.

  2. Substitua o marcador de posição <PERSONAL_ACCESS_TOKEN> pelo seu token de acesso pessoal e, em seguida, execute o seguinte comando para adicionar a fonte do pacote ao seu arquivo nuget.config. Certifique-se de que esse arquivo seja armazenado com segurança e não tenha sido verificado no controle do código-fonte.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Execute o seguinte comando para publicar seu pacote:

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

Exemplo:

dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config

dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

Observação

Se sua organização usa um firewall ou servidor proxy, verifique se as URLs e os endereços IP do Domínio de Artefatos do Azure são permitidos.