You can use the Commvault software to back up and restore Azure repositories.
Licensing for DevOps Apps
For information about licensing for the repositories backed up using DevOps apps, see Virtual Operating Instances in the License Summary Report.
Backups
Data You Can Back Up
Service |
Component |
Considerations |
---|---|---|
Project Metadata (not a service) *repositories inherit project settings |
Project information |
The following are backed up irrespective of the service selected: Project visibility (public repository, private repository) Project description |
Summary |
||
Dashboards |
Dashboards are backed up only if the content is defined at or above the project level. Restorable only if you select at the project level or higher. |
|
Wiki |
Wikis are backed up only if the content is selected at the project level or at the organization level. Comments are backed up. |
|
Boards |
Work items |
Restorable only if you select at the project level or higher. |
Boards |
Auto-populated based on the work items present in the project. |
|
Backlogs |
Auto-populated based on the work items present in the project. |
|
Sprints (iterations and areas) |
||
Queries |
||
Delivery Plans |
||
Repos |
Azure repositories |
Azure repositories that are not part of the same project are not backed up. TFVC (Team Foundation Version Control) repositories are not backed up. |
Pull request |
The following are backed up:
|
|
Pipelines |
Pipelines |
|
Environments |
||
Releases |
||
Library (including variable groups) |
||
Task groups |
||
Deployment groups |
||
Test Plans |
Test plans |
|
Parameters |
Parameter set is considered as a work item and will be part of the Boards service backup and restores. |
|
Configurations |
||
Artifacts |
Feed |
If feeds already exist in the project/organization with the same name, feed data is overwritten. |
Data You Cannot Back Up
Service |
Component |
Considerations |
---|---|---|
Project Metadata |
Summary |
About sections must be added manually after the restore. |
Dashboards |
Dashboards are not backed up if the project scope is not found in the API response for backup. If the Dashboard is present at the destination, restore operation does not restore the Dashboard. |
|
Wiki |
Comment reactions are not supported. Code wikis must be published manually at the destination. |
|
Boards |
Work items |
In-place restores update the work items only if the ID and title match, otherwise, a new work item will be created. Work item update does not include deletion of comments and changing area paths. For out-of-place restores, the area/iteration path will be identical to the source project except that the root path uses the destination project name instead of the source project name. |
Sprints |
Users are not restored if they are not part of the organization and if their user ID does not match. |
|
Queries |
If a query creation fails (because the iteration path does not exist at the destination), then the restore operation proceeds with other queries. |
|
Pipelines |
Pipelines |
Pipelines are restored only if the YAML files are created in backed up repos. Also, pipelines are not restored natively. Pipelines must be created manually by using the YAML files present in the restored repos. |
Environments |
Only the Environment folder structure is created similar to the source. Resources are not created at the destination by the restore operation, and they must be created manually. |
|
Releases |
The following properties are not assigned for the tasks in the restored Releases, and they must be filled manually because they are cancelled by Azure DevOps:
|
|
Library |
Secure files are not backed up. |
|
Deployment groups |
Targets (resources) are not recreated at the destination. Deployment group creation at destination will always create a new deployment pool. Shared pools are not used. |
|
Test Plans |
Test Plans |
Execute history and charts are not backed up. |
Progress report |
Progress reports are not backed up. |
|
Runs |
Runs are not backed up. |
Backups You Can Perform
- Full backups
When You Can Perform Backups
-
On a schedule: The server plan that you assign manages scheduled backups
-
On demand: You can perform on-demand backups at any time
Backups You Can Use for Restores
-
The most recent backup: For example, restore the most recent backup to its original location
-
A backup from a specific date: For example, restore data to a point in time before it became unusable
-
Backups from a date range: For example, restore data that was accidentally deleted
Destinations You Can Restore To
-
The current location (in place)
-
A different location on the same app or a different app (out of place)
-
A different repository hosting service such as GitHub (out of place)
-
A disk (out of place)