For one of my customers I had to migrate their current ProGet server to Visual Studio Team Services (VSTS) Package Management. That is because I am migrating them from TFS 2015 to VSTS. Although documentation is available, it wasn’t completely clear to me, so I wrote this blog.
In the first place I was going to find out how to migrate their ProGet feeds (http://progetserver:81/nuget) to Package Management directly using the ProGet feed URL. I used the following article published by Microsoft: https://www.visualstudio.com/en-us/docs/package/nuget/move-from-fileshares. Somehow it doesn’t go into detail on how to use a feed URL as a source. It only uses an SMB share as a source. After a lot of searching and trying I decided I would login to the ProGet server and use the directory where the packages are located directly.
First I manually created a new Feed in VSTS.
On the server I ran the following command from cmd.exe in a directory that contains the nuget executable:
nuget push D:\VstsMigration\**\*.nupkg -Source https://mycustomer.pkgs.visualstudio.com/_packaging/myfeed/nuget/v3/index.json -ApiKey VSTS -Timeout 900
You’ll need to run this command for every single feed!
Please note the following details:
- Package Management is more strict than NuGet, check the “Before you start” section in the documentation
- “mycustomer” would be the name of the VSTS account
- “myfeed” would be the name of the Package Management feed as created earlier
- You can use the pattern **\*.nupkg to recurse a directory structure
- Big feeds can take some time, so add a timeout that would suffice (in this case 900 secs)
- Running this command could prompt for credentials;
Hope this helps other people too.