我正在尝试将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版本。
感谢。
答案 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
}