使用一个命令将多个包推送到私有nuget(VSTS)

Nil*_*Pun 4 nuget nuget-package azure-artifacts

我正在尝试将ONCE的多个nuget包推送到私有VSTS nuget服务器.

我搜索了doco但找不到批量Push命令.我正在使用下面的命令,它似乎覆盖了VSTS上现有的nuget包.

nuget push mynuget.nupkg -Source https://myvsts.pkgs.visualstudio.com/DefaultCollection/_packaging/SitecorePackages/nuget/v3/index.json -ApiKey VSTS
Run Code Online (Sandbox Code Playgroud)

更新:

我使用了push*.nupkg但是,我只能看到推送的8.1.x版本.

在此输入图像描述

谢谢.

Tet*_*Dev 7

下面是一个 powershell 脚本,可用于将 NuGet 包批量推送到 VSTS 源。它将忽略任何 .symbols.nuget 文件:

set-location \\path\to\nugetpackages

$files=get-childitem | where {$_.Name -like "*.nupkg" -and $_.Name -notlike "*symbols*"}

foreach($file in $files) {
  .\NuGet.exe push -Source "MySource" -ApiKey key $file.name
}
Run Code Online (Sandbox Code Playgroud)


Ahm*_*dYo 7

首先,我从“ packages ”文件夹中排除以前上传的包,它只包含本地服务器中不存在的包。之后我使用下面的命令,它工作正常。

nuget.exe push -Source "MyFeedName" -ApiKey VSTS packages\**\*.nupkg
Run Code Online (Sandbox Code Playgroud)

  • 我只是使用相同的技术将所有内容从旧服务器批量推送到新服务器 - “**”通配符执行递归文件夹搜索,并且对此非常简单且有用。 (2认同)

Mat*_*per 5

在VSTS上覆盖现有包是不可能的.nuget.exe允许使用通配符进行推送,所以你可以这么说nuget push *.nupkg -Source https://myvsts.pkgs.visualstudio.com/DefaultCollection/_packaging/SitecorePackages/nuget/v3/index.json -ApiKey VSTS.

  • 最近,nuget Push 获得了“-SkipDuplicate”参数以允许此操作。 (3认同)