Publicar pacotes NuGet a partir da linha de comando (NuGet.exe)
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
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 . - Baixe e instale o Azure Artifacts Credential Provider. - A versão mais recente do NuGet. |
Conectar-se a um feed
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatose, em seguida, selecione o seu feed no menu suspenso.
Selecione Ligar ao feede, em seguida, selecione NuGet.exe no painel de navegação esquerdo.
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>
Entre no servidor de DevOps do Azure e navegue até o projeto.
Selecione Artefatose, em seguida, selecione o seu feed.
Selecione Ligar ao Feede, em seguida, selecione NuGet.exe no painel de navegação esquerdo.
Siga as instruções na seção de configuração do Project para se conectar ao seu feed.
Entre no servidor de DevOps do Azure e navegue até o projeto.
Selecione Artefactose, em seguida, selecione o seu feed.
Selecione Ligar ao Feede, em seguida, selecione NuGet no painel de navegação esquerdo.
Siga as instruções fornecidas para adicionar o URL de origem do pacote ao arquivo nuget.config.
Publicar pacotes num feed na mesma organização
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.
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.
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>
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 sua organização estiver usando um firewall ou um servidor proxy, certifique-se de permitir URLs de Domínio de Artefatos do Azure e endereços IP.