2016-05-12 7 views
3

Ich versuche, mehrere Nuget-Pakete bei ONCE auf private VSTS nugget Server zu schieben.Push mehrere Pakete zu privaten nugget (VSTS) mit einem Befehl

Ich suchte doco, konnte aber keinen Batch-Push-Befehl finden. Ich verwende den folgenden Befehl, der bereits vorhandene nuget-Pakete in VSTS zu überschreiben scheint.

nuget push mynuget.nupkg -Source https://myvsts.pkgs.visualstudio.com/DefaultCollection/_packaging/SitecorePackages/nuget/v3/index.json -ApiKey VSTS 

UPDATE:

verwendete ich den Push * .nupkg ich jedoch nur die 8.1.x-Version geschoben sehen.

enter image description here

Dank.

Antwort

4

Es ist nicht möglich, vorhandene Pakete in VSTS zu überschreiben. nugget.exe erlaubt Platzhalter für Push, also könnte man sagen nuget push *.nupkg -Source https://myvsts.pkgs.visualstudio.com/DefaultCollection/_packaging/SitecorePackages/nuget/v3/index.json -ApiKey VSTS.

+0

Dank @MattCooper aber wenn ich mit * .nupkg versuchte, es Fehlermeldung zeigt „Fehler-Anforderung zu verarbeiten.‚Konflikt‘Der Remote-Server zurück 409 Confilct ...“ –

+0

Das ist, weil es nicht möglich ist, zu überschreiben die gleiche Paket-ID + Version. Weitere Informationen finden Sie unter [immutability] (https://www.visualstudio.com/get-started/package/feeds/immutability). –

+0

Ok, ich habe 2 Pakete mit * .nupkg gelöscht und veröffentlicht. Allerdings kann ich nur den letzten sehen. Irgendwie scheint das Letzte das Erste zu übersteuern. Siehe den Screenshot, der dem Originalbeitrag beigefügt ist –

0

Hier ist ein Powershell-Skript, das Sie verwenden können, um NuGet-Pakete in einen VSTS-Feed zu verschieben. Es wird eine der .symbols.nuget Dateien ignorieren:

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 
} 
0

Zuerst habe ich ausgeschlossen zuvor hochgeladenen Pakete von dann „Paketen“ Ordner und es enthält nur Pakete, die nicht in der lokalen Server vorhanden ist. Danach habe ich den Befehl verwendet und es funktioniert gut.

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