Datenschutz und Backups sind für jedes Unternehmen, das Azure DevOps für Softwareentwicklung und Projektmanagement nutzt, von entscheidender Bedeutung. Das Azure DevOps Backup Tool bietet eine umfassende Lösung, die das Sichern und Wiederherstellen von Azure-DevOps-Ressourcen vereinfacht und die Sicherheit sowie Verfügbarkeit der Unternehmensdaten gewährleistet. In diesem Blogbeitrag stellen wir die Funktionen, Vorteile und Einsatzmöglichkeiten des Azure DevOps Backup Tool vor.
Alexander Hjelm
Entdeckt das Azure DevOps Backup Tool im Azure DevOps Marketplace: https://marketplace.visualstudio.com/items?itemName=solidify.ado-backup-tool
Überblick über die wichtigsten Funktionen
Mit dem Azure DevOps Backup Tool könnt ihr:
Backups eurer Azure DevOps-Ressourcen als JSON-Dateien in einem lokalen Verzeichnis oder einer Netzwerkfreigabe erstellen. Diese Backups könnt ihr jederzeit in eurer Produktionsumgebung wiederherstellen. Unser Tool unterstützt alle folgenden Datenquellen in Azure DevOps:
Azure Boards
Azure Repos
Azure Pipelines
Azure Test Plans
Azure Artifacts
Einfache Integration in Azure DevOps Pipelines.
Führt Datenmigrationen reibungslos durch – zwischen Azure DevOps-Projekten oder indem ihr Daten aus mehreren Quellen in einem einzigen Azure DevOps-Projekt zusammenführt.
Unterstützt sowohl Azure DevOps Services-Organisationen als auch Azure DevOps Server-Sammlungen.Unterstützt sowohl Azure DevOps Services-Organisationen als auch Azure DevOps Server-Sammlungen.
Flexible Backup-Optionen
Mit dem Tool könnt ihr gezielt die Azure DevOps-Ressourcen sichern, die euren Anforderungen entsprechen. Unabhängig davon, welche Ressourcen ihr sichern möchtet und ob es sich um ein einzelnes Projekt oder eine gesamte Organisation handelt: Das Azure DevOps Backup Tool bietet euch maximale Flexibilität bei der Auswahl des Umfangs eurer Backups.
Umfassende Unterstützung von Ressourcen
Das Azure DevOps Backup Tool unterstützt eine Vielzahl von Azure DevOps-Ressourcen und stellt sicher, dass eure kritischen Daten vollständig geschützt sind. Dazu gehören unter anderem Git-Repositorys, Pipelines, Work Items, Prozessmodelle für Work Items, Testpläne, Artifacts und vieles mehr.
Warum ihr das Azure DevOps Backup Tool in Betracht ziehen solltet
Das Azure DevOps Backup Tool dient als Versicherung und hilft euch, die Geschäftskontinuität sicherzustellen. So können eure Entwickler auch bei unvorhergesehenen Vorfällen reibungslos und mit minimalen Ausfallzeiten weiterarbeiten.
1. Datenwiederherstellung und Schutz vor endgültiger Löschung
Azure DevOps bietet die Möglichkeit, Ressourcen endgültig zu löschen. Das kann Risiken bergen, wenn wichtige Daten versehentlich entfernt werden oder euer Unternehmen Opfer eines Cyberangriffs wird. Mit dem Azure DevOps Backup Tool könnt ihr wichtige Daten selbst bei versehentlicher Löschung oder einer Sicherheitsverletzung wiederherstellen.
Standardmäßig werden Azure DevOps-Ressourcen je nach Ressource in der Regel für 30 oder 90 Tage soft gelöscht. Während dieses Zeitraums können sie über die REST API wiederhergestellt werden, danach jedoch nicht mehr.
Mit dem Azure DevOps Backup Tool könnt ihr eure Daten unbegrenzt aufbewahren.
2. Effiziente und gezielte Backups
Anders als bei herkömmlichen Backup-Methoden, bei denen die gesamte Azure DevOps-Datenbank gesichert und wiederhergestellt wird, bietet das Azure DevOps Backup Tool einen effizienteren Ansatz. Mit diesem Tool könnt ihr gezielt einzelne Ressourcen sichern. Dadurch entfallen lange Ausfallzeiten und die Auswirkungen auf euren Entwicklungsprozess werden minimiert.
3. Compliance- und regulatorische Anforderungen
Viele Unternehmen unterliegen Prüfungs- und regulatorischen Anforderungen, die robuste Maßnahmen zum Datenschutz erfordern. Mit einer umfassenden Backup-Strategie stellt ihr die Datenintegrität sicher und könnt die Einhaltung regulatorischer Standards nachweisen.
Funktionen
Azure DevOps-Ressourcen lokal sichern und wiederherstellen (einzelnes Projekt oder gesamte Organisation)
Azure DevOps-Ressourcen zwischen Azure DevOps-Instanzen und Projekten migrieren oder konsolidieren
Aufgabenübersicht
Azure DevOps Backup Tool stellt eine Reihe von Pipeline-Aufgaben bereit, die Azure DevOps-Daten als JSON-Dateien in einem lokalen Dateiverzeichnis sichern.
Die Erweiterung umfasst folgende Aufgaben:
Azure DevOps Backup Tool: Export – Exportaufträge über eine Pipeline-Aufgabe ausführen. Die heruntergeladenen Dateien in einem lokalen Dateibereich oder einer Netzwerkfreigabe speichern.
Azure DevOps Backup Tool: Import – Importaufträge über eine Pipeline-Aufgabe ausführen. Die Dateien aus einem lokalen Dateibereich oder einer Netzwerkfreigabe einlesen.
Unterstützte Ressourcen
Derzeit (Stand: 2023-05) werden die folgenden Ressourcen unterstützt. Weitere kommen laufend hinzu:
Bereichs-/Iterationspfade
Teams und Teameinstellungen
Konfiguration des Teamboards
Git-Repositories
Pull Requests
Branch-Richtlinien
Projekt-Wikis
Pipelines
Build-Definitionen
Release-Definitionen
Aufgabengruppen
Variablengruppen
Umgebungen (Deployment-Gruppen)
Work Items
Revisionsverlauf
Kommentare
Anhänge und Links
Work-Item-Links
Code-Links (Repository/Commit/Branch/Tag)
Work-Item-Abfragen
Dashboards
Work-Item-Prozessmodelle
Geerbt
XML-basiert
Testpläne (keine Testdaten)
Artefakte
Feeds und Pakete
NuGet
Npm
Universal
Python (nur Export)
Anleitung
Wir zeigen euch Schritt für Schritt, wie ihr das Azure DevOps Backup Tool effektiv einrichtet und nutzt.
1: Erweiterung herunterladen
Ladet zunächst die Erweiterung Azure DevOps Backup Tool aus dem Azure DevOps Marketplace herunter. Diese Erweiterung stellt die erforderlichen Tasks bereit:
https://marketplace.visualstudio.com/items?itemName=solidify.ado-backup-tool
2a: Self-hosted Build-Server einrichten (optional)
Wenn ihr lieber einen Self-hosted Build-Server verwenden möchtet, folgt diesen Schritten:
Richtet eine Umgebung mit Windows Server 2016 oder höher ein.
Installiert die folgenden Abhängigkeiten:
.NET Core 7.0 Runtime
git
pip
gradle
Azure CLI (az)
Stellt sicher, dass der Build-Server Zugriff auf das Internet und Azure DevOps hat.
Richtet den Build-Agent ein.
2b: Microsoft-gehosteten Windows-Build-Agent verwenden
Alternativ könnt ihr einen Microsoft-gehosteten Windows-Build-Agent verwenden, der bereits mit allen notwendigen Voraussetzungen vorkonfiguriert ist. Das vereinfacht die Einrichtung und gewährleistet die Kompatibilität.
3: Dedizierten Backup-Server einrichten und Festplatte freigeben
Bereitet einen Backup-Server vor und gebt die Festplatte als Netzwerkfreigabe frei. Auf diesem Server werden die Sicherungskopien eurer Azure DevOps-Ressourcen gespeichert. Stellt sicher, dass der Build-Server Zugriff auf diese Netzwerkfreigabe hat.
Die empfohlene Einrichtung sieht wie folgt aus:
Gebt das Laufwerk für die ADO Pipeline Agent VM als Netzwerkfreigabe frei.
Bindet die Netzwerkfreigabe auf der ADO Pipeline Agent VM als Laufwerk ein.
Gebt abschließend in der Export-Aufgabe den Migration Workspace als Pfad auf dem eingebundenen Netzwerklaufwerk an.
Hier ist eine Beispiel-Serverarchitektur:
| Server | Platform | Firewall opening |
|---|---|---|
| (1) Azure DevOps Server | Windows Server | (2) |
| (2) Pipeline Agent | Windows Server | (1) and (3) |
| (3) Dedicated Backup Server | Any | (2) (via network share) |
4: Backup-Pipeline mit Azure Pipelines konfigurieren
Erstellt eine Azure Pipeline, um den Backup-Prozess einzurichten. Verwendet die Export-Aufgabe der Erweiterung Azure DevOps Backup Tool, um die gewünschten Azure DevOps-Ressourcen zu exportieren. Verwendet außerdem die FileCopy-Aufgabe, um die exportierten Ressourcen in eure Netzwerkfreigabe auf dem Backup-Server zu kopieren.
Hier ist ein Beispiel für eine YAML-Pipeline, die die exportierten Ressourcen zu Debug- und Demo-Zwecken als Build-Artefakt veröffentlicht:
trigger: none
variables:
- group: migration-demo
- name: sourceUrl
value: https://dev.azure.com/solidifydemo
- name: sourceOrg
value: solidifydemo
- name: sourceProject
value: ContosoAir
- name: sourceUsername
value: alexander.hjelm@solidify.dev
pool:
vmImage: windows-latest
steps:
- task: ado-backup-tool-export@1
displayName: 'ADO Backup Tool: Export'
inputs:
source: '$(sourceUrl)'
sourceOrgName: '$(sourceOrg)'
sourceProject: '$(sourceProject)'
sourceUsername: '$(sourceUsername)'
sourcePAT: '$(migrationToken)'
onPrem: false
workspace: '$(System.DefaultWorkingDirectory)/MigrationWorkspace'
resourceGit: true
env:
SYSTEM_ACCESSTOKEN: $(system.accesstoken)
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)/MigrationWorkspace'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)\$(Build.BuildNumber).zip'
replaceExistingArchive: false
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)\$(Build.BuildNumber).zip'
artifact: 'Export'
publishLocation: 'pipeline'5: Zeitplanung der Export-Aufgabe konfigurieren
Um den Backup-Prozess zu automatisieren, konfiguriert die Zeitplanung der Export-Aufgabe in eurer Azure Pipeline. Wählt einen passenden Zeitplan, beispielsweise eine tägliche Ausführung des Backups um Mitternacht oder eine wöchentliche Ausführung.
Hier ist ein Beispiel für einen Zeitplan:
schedules:
- cron: "0 0 * * *"
displayName: Nightly Build6: Korrekte Berechtigungen für das Build-Servicekonto vergeben
Stellt sicher, dass das Build-Servicekonto im Zielprojekt von Azure DevOps über die erforderlichen Berechtigungen verfügt. Mindestens sollte das Konto die folgende Rolle haben:
Reader (nur für Exportvorgänge)
Contributor (für Export- und Importvorgänge)
7: Backup-Pipeline ausführen
Startet die Backup-Pipeline und überwacht ihre Ausführung. Prüft, ob alle gewünschten Azure DevOps-Ressourcen erfolgreich exportiert und wie erwartet auf dem Backup-Server gespeichert wurden.
8: Daten mit der Import Task wiederherstellen
Um eure gesicherten Daten wiederherzustellen, richtet die Import Task in einer Azure Pipeline ein. Startet die Pipeline manuell und verwendet die FileCopy-Task, um die Ressourcen vom Backup-Server in euren Pipeline-Workspace zu kopieren. Führt anschließend die Import Task aus, um die Ressourcen in eurer Azure DevOps-Zielumgebung wiederherzustellen.
Hier ist ein Beispiel für eine YAML-Pipeline zum Starten eines Ressourcenimports:
trigger: none
variables:
- group: migration-demo
- name: sourceUrl
value: https://dev.azure.com/solidifydemo
- name: sourceOrg
value: solidifydemo
- name: sourceProject
value: ContosoAir
- name: sourceUsername
value: alexander.hjelm@solidify.dev
pool:
vmImage: windows-latest
steps:
- task: CopyFiles@2
inputs:
SourceFolder: 'X:\Backup\ContosAir'
Contents: '**'
TargetFolder: '$(System.DefaultWorkingDirectory)/MigrationWorkspace'
- task: ado-backup-tool-import@1
inputs:
target: '$(sourceUrl)'
sourceOrgName: '$(sourceOrg)'
targetOrgName: '$(sourceOrg)'
sourceProject: '$(sourceProject)'
targetProject: '$(sourceProject)'
targetUsername: '$(sourceUsername)'
targetPAT: '$(migrationToken)'
onPrem: false
workspace: '$(System.DefaultWorkingDirectory)/MigrationWorkspace'
resourceGit: trueFazit
Das Azure DevOps Backup Tool ermöglicht es Unternehmen, ihre Azure DevOps-Daten zu schützen, Backup- und Wiederherstellungsprozesse zu vereinfachen sowie effizient zwischen Instanzen und Projekten zu migrieren. Der Einsatz des Tools sichert die Geschäftskontinuität und verringert das Risiko von Datenverlusten.
Beginnt noch heute mit dem Azure DevOps Backup Tool und übernehmt die Kontrolle über eure Azure DevOps-Daten!
Entdeckt das Azure DevOps Backup Tool im Azure DevOps Marketplace: https://marketplace.visualstudio.com/items?itemName=solidify.ado-backup-tool
- Cloud
- Microsoft
Subscribe to our newsletter
Related blogs