Publicar pacotes NuGet na linha de comando (dotnet)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Este guia explica como configurar seu projeto para publicar pacotes NuGet usando a interface de linha de comando dotnet.
Pré-requisitos
Produto | Requisitos |
---|---|
Azure DevOps | - Uma organização do Azure DevOps. - Um projeto do Azure DevOps. - Um feed do Azure Artifacts. - Baixe e instale o Provedor de Credenciais do Azure Artifacts . – Baixar e instalar SDK do .NET Core (2.1.400+). |
Conectar-se a um feed
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao feede, em seguida, selecione dotnet na seção NuGet à esquerda.
Crie um arquivo nuget.config na mesma pasta que o arquivo csproj ou sln. Copie o seguinte snippet XML e cole-o em seu novo arquivo, substituindo os espaços reservados pelas informações relevantes:
Feed da organização com escopo:
<?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 do projeto com escopo:
<?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>
Entre no servidor do Azure DevOps e navegue até o projeto.
Selecione Artefatos e, em seguida, selecione o feed.
Selecione Conectar ao Feed e selecione dotnet no painel de navegação esquerdo.
Siga as instruções na seção Configuração do projeto para se conectar ao seu feed.
Nota
Não há suporte para dotnet no Azure DevOps Server 2019.
Publicar pacotes em um feed na mesma organização
Execute o comando a seguir para publicar um pacote no feed. Substitua os marcadores 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
Nota
O api-key
é necessário, mas você pode fornecer qualquer cadeia de caracteres como seu valor ao publicar em um feed do Azure Artifacts.
Publicar pacotes em um feed em outra organização
Para publicar seus pacotes NuGet em um feed em uma organização diferente do Azure DevOps, primeiro você deve criar um PAT (token de acesso pessoal) na organização de destino.
Navegue até a organização que hospeda seu feed de destino e crie um token de acesso pessoal (PAT) com escopo de Empacotamento>Leitura & gravação.
Substitua o marcador de posição <PERSONAL_ACCESS_TOKEN> pelo seu token de acesso pessoal e execute o comando a seguir para adicionar a fonte do seu pacote ao arquivo nuget.config. Certifique-se de que esse arquivo esteja armazenado com segurança e não seja enviado para o 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>
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
Nota
Se a sua organização estiver utilizando um firewall ou um servidor proxy, certifique-se de permitir as URLs de domínio e os endereços IP do Azure Artifacts.