Welcome to DevmosÂ
If you are using Azure DevOps Server on-premises and want to move to Azure DevOps Cloud, you might be wondering how to migrate your data and projects without losing any history or information. Fortunately, Microsoft provides a high-fidelity migration tool that can help you with this process. In this blog post, I will show you the step by step guide to migrate your Azure DevOps Server on-premises to Azure DevOps Cloud using this tool.
Before you start, you need to make sure that your Azure DevOps Server meets the following requirements:
It is running version 2022 Update 0.1 or later. For more info Please follow this link to check currently supported versions for migration.
It has a valid license and is not in trial mode.
It has internet access and can communicate with Azure DevOps Cloud.
You also need to have an Azure DevOps organization that will host your migrated data and projects. You can create one for free if you don't have one already.
The migration process consists of four main steps:
1. Prepare your Azure DevOps Server for migration.
2. Export your data from Azure DevOps Server to a migration database.
3. Import your data from the migration database to Azure DevOps Cloud.
4. Verify and complete the migration.
Let's go through each step in detail.
Step 1: Prepare your Azure DevOps Server for migration
In this step, you need to do some pre-migration checks and tasks to ensure that your Azure DevOps Server is ready for migration. These include:
Checking the health of your Azure DevOps Server and fixing any issues or errors.
Backing up your Azure DevOps Server databases and configuration files.
Get the database size info and decide which method will you use.
Updating your Azure DevOps Server extensions and removing any unsupported ones.
Disabling any scheduled jobs or tasks that might interfere with the migration.
Notifying your users and stakeholders about the migration and setting a maintenance window.
You can use the Migration Guide tool provided by Microsoft to help you with these tasks. The tool is available as a PowerShell script that you can download from here: https://aka.ms/DevOpsMigrationGuide
To run the tool, you need to open a PowerShell window as an administrator and run the following command:
.\MigrationGuide.ps1 -SourceCollectionUrl <your Azure DevOps Server collection URL> -TargetOrganizationUrl <your Azure DevOps organization URL>
The tool will prompt you for some information and guide you through the preparation steps. You can also use the -WhatIf parameter to run the tool in simulation mode and see what actions it will take without making any changes.
Step 2: Export your data from Azure DevOps Server to a migration database
In this step, you need to export your data from your Azure DevOps Server collection to a migration database that will be used for importing to Azure DevOps Cloud. This step will take a snapshot of your data and copy it to a separate SQL Server database that you need to provide.
To export your data, you need to use the Data Migration Tool provided by Microsoft. The tool is available as an executable file that you can download from here: https://aka.ms/DevOpsDataMigrationTool
To run the tool, you need to open a command prompt window as an administrator and run the following command:
DataMigrationTool.exe /SourceCollectionUrl <your Azure DevOps Server collection URL> /TargetDatabaseConnectionString <your migration database connection string>
The tool will prompt you for some information and start the export process. You can monitor the progress of the export in the command prompt window or in the log file that is created in the same folder as the tool.
The export process might take several hours or days depending on the size of your data and the performance of your SQL Server. During this time, you should not make any changes to your Azure DevOps Server collection as they will not be reflected in the migration database.
Step 3: Import your data from the migration database to Azure DevOps Cloud
In this step, you need to import your data from the migration database to your Azure DevOps organization in the cloud. This step will transfer your data over the internet and create corresponding projects and entities in Azure DevOps Cloud.
To import your data, you need to use the same Data Migration Tool that you used for exporting. You need to run the tool again with a different command:
DataMigrationTool.exe /SourceDatabaseConnectionString <your migration database connection string> /TargetOrganizationUrl <your Azure DevOps organization URL>
The tool will prompt you for some information and start the import process. You can monitor the progress of the import in the command prompt window or in the log file that is created in the same folder as the tool.
The import process might take several hours or days depending on the size of your data and the bandwidth of your internet connection. During this time, you should not make any changes to your migration database or your Azure DevOps organization as they might cause errors or conflicts.
Step 4: Verify and complete the migration
In this step, you need to verify that your data and projects have been migrated successfully and complete the migration process. This includes:
- Checking the status of your migration in the Azure DevOps portal and resolving any issues or warnings.
- Validating that your data and projects are intact and functional in Azure DevOps Cloud.
- Updating your users and stakeholders about the migration and providing them with the new URLs and credentials to access Azure DevOps Cloud.
- Decommissioning your Azure DevOps Server and deleting the migration database.
You can use the Migration Guide tool again to help you with these tasks. You need to run the tool with the following command:
.\MigrationGuide.ps1 -SourceCollectionUrl <your Azure DevOps Server collection URL> -TargetOrganizationUrl <your Azure DevOps organization URL> -Complete
The tool will prompt you for some information and guide you through the verification and completion steps. You can also use the -WhatIf parameter to run the tool in simulation mode and see what actions it will take without making any changes.
Congratulations! You have successfully migrated your Azure DevOps Server on-premises to Azure DevOps Cloud using the high-fidelity migration tool provided by Microsoft. You can now enjoy the benefits of cloud-based DevOps services and features without losing any of your data or history.