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

时间:2016-05-12 11:07:51

标签: 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

更新:

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

enter image description here

感谢。

3 个答案:

答案 0 :(得分:5)

无法覆盖VSTS上的现有软件包。 nuget.exe允许使用通配符进行推送,因此您可以说nuget push *.nupkg -Source https://myvsts.pkgs.visualstudio.com/DefaultCollection/_packaging/SitecorePackages/nuget/v3/index.json -ApiKey VSTS

答案 1 :(得分:2)

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

nuget.exe push -Source "MyFeedName" -ApiKey VSTS packages\**\*.nupkg

答案 2 :(得分:1)

这是一个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
}