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

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

Com o Azure Artifacts, você pode publicar seus pacotes NuGet em feeds públicos e privados, permitindo compartilhá-los com outras pessoas com base nas configurações de visibilidade do seu feed. Este artigo irá guiá-lo através da conexão com seu feed de Artefatos do Azure e da publicação e restauração de seus pacotes NuGet.

Pré-requisitos

Ligar ao feed

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

  2. Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.

  3. Selecione Conectar ao feed e, em seguida, selecione NuGet.exe no painel de navegação esquerdo.

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

    • Feed com escopo 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 do 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 Artefatos e, em seguida, selecione seu feed.

  3. Selecione Conectar ao feed e, em seguida, selecione NuGet.exe no painel de navegação esquerdo.

  4. Siga as instruções na seção Configuração do projeto para se conectar ao seu feed.

  1. Entre no servidor de DevOps do Azure e navegue até o projeto.

  2. Selecione Artefatos e, em seguida, selecione seu feed.

  3. Selecione Conectar ao feed e, em seguida, selecione NuGet no painel de navegação esquerdo.

  4. Siga as instruções fornecidas para adicionar o URL de origem do pacote ao arquivo nuget.config .

Publicar pacotes

Execute o seguinte comando para publicar seus pacotes no feed. Substitua os espaços reservados pelas informações relevantes:

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

Nota

O ApiKey é necessário, mas você pode usar qualquer valor arbitrário ao enviar por push para feeds de Artefatos do Azure.

Publicar pacotes de fontes externas

  1. Crie um token de acesso pessoal (PAT) com escopo de leitura e gravação de empacotamento.

  2. Adicione a origem do pacote ao arquivo nuget.config . Isto irá adicionar a sua 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. Publique seu pacote NuGet em seu feed:

    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

Nota

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

Restaurar pacotes

Execute o seguinte comando no diretório do projeto para restaurar os pacotes:

nuget.exe restore