Partilhar via


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

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

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+).

Conectar-se a um 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:

  • Feed da organização:

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

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

Observação

dotnet não é suportado no Azure DevOps Server 2019.

Publicar pacotes em um feed na mesma organização

Execute o seguinte comando para publicar um pacote no seu feed. Substitua os espaços reservados 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 é 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 noutra 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 uma de token de acesso pessoal (PAT) com Empacotamento>Ler & gravar escopo.

  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 a sua organização estiver a utilizar uma firewall ou um servidor proxy, certifique-se de que permite o URLs de Domínio de Artefactos do Azure e endereços IP.