- 27 Jan 2022
- 4 Minutes to read
- Print
- DarkLight
- PDF
HOWTO: Migrate from Azure DevOps to ProGet
- Updated on 27 Jan 2022
- 4 Minutes to read
- Print
- DarkLight
- PDF
Migrating an Azure DevOps feed to ProGet can be done in minutes using ProGet’s Feed Importer feature. This feature allows packages from a remote feed to be downloaded to a local feed. This article will guide you through how to use the Feed Importer feature to migrate your Azure DevOps feed to ProGet.
Step 1: Gather Azure DevOps Information for Migration
All supported package types in Azure DevOps are also supported in ProGet. Azure DevOps allows multiple package types per feed and comes with unique URLs for each one. However, ProGet requires a different feed for each package type, so you will need the URL for each type of package in your Azure DevOps feed.
Gather Feed URL
Azure DevOps feed URLs can be found under Artifacts > Feed > Connect to Feed > Package Type. In the screenshot below, a feed with NuGet packages is being migrated so we need to copy the NuGet feed URL. If you are migrating a feed with a different package type, such as Universal Packages or Python, then you will need to navigate to that package type and copy its feed URL.
Under Project Setup, copy the URL next to value. In our example we have the following line of code:
<add key="internal-nuget" value="https://pkgs.dev.azure.com/kharnagy/kharnagy/_packaging/internal-nuget/nuget/v3/index.json" />
The feed URL for our NuGet packages would be: https://pkgs.dev.azure.com/kharnagy/kharnagy/_packaging/internal-nuget/nuget/v3/index.json
Create a Personal Access Token
Next you will need a personal access token to connect your Azure DevOps feed to ProGet. You can create a personal access token by navigating to User Settings > Personal Access Tokens > New Token.
Make sure to copy the personal access token as you will need it in step 3.
Disable Upstream Sources
Any active upstream sources will need to be disabled. To disable upstream sources, navigate to Artifacts>Feed>Feed Settings> Upstream Sources
Step 2: Create a Feed in ProGet
ProGet supports the creation of multiple types of feeds, but for demonstration purposes we will be migrating a feed with NuGet packages from Azure DevOps to ProGet.
To create a new feed, navigate to the banner at the top of the page and click on feeds. Next select Create New Feed.
You will then need to select the type of feed you would like to setup. In this guide we will be setting up a NuGet feed for a fictious company called Kramerica, but the steps should be nearly the same for any feed. Select the feed you wish to setup and fill in the relevant fields.
Step 3: Connect ProGet Feed to Azure DevOps Feed
Now that your feed is created, a connector to your imported feed will need to be added. Click on add connector and fill in the relevant information.
- Connector URL: Paste the feed URL gathered in step 1 .
- Username: Paste the personal access token gathered in step 1.
- Password: The password is the same as the one used to log in to your Azure DevOps account.
If your connector is setup correctly you will see your packages shown as remote packages in your ProGet feed. If you do not see your packages at this point, skip ahead to the troubleshooting section.
Step 4: Import Packages to ProGet
Now that your imported Azure DevOps feed is connected to ProGet you will need to import the packages.
Navigate to Feeds > Feed > Manage Feed > Connectors & Replication > Connectors Used By This Feed.
After clicking on the import button, you will have to fill in some information about your imported packages.
After clicking on Import, you will see a Live Action Log Output displaying the packages that have been imported.
Your feed and its packages have successfully been imported!
Step 5: Delete Connector from ProGet
With your feed fully imported, we recommend deleting the connector from ProGet.
Navigate to Feeds > Connectors > Connector Name and click on the red x to delete the connector.
Step 6: Repeat steps 1-5 for each feed.
To migrate your various feeds from Azure DevOps to ProGet simply repeat steps 1-5 for each feed until you’re fully migrated!
Troubleshooting
Issue: Why don't I see all my packages imported?
If you run into this issue, ensure that your Maximum Package Count is not lower than the number of packages you are importing.
Issue: Why don't I have an import button?
If you have followed the steps in this guide and are not seeing the import button mentioned in step 4, than it is likely that you are either operating on an older version of ProGet or using a public repository. You must be operating on ProGet v6.0.7 or newer and using a private repository to import packages.
Issue: Why don't I see any packages after adding my connector?
This is likely because the wrong credentials were entered in step 3. Double check your Connector URL (Feed URL in Azure DevOps), Username (Personal Access Token in Azure DevOps), and Password (Password used for Azure DevOps login).