Blog

Enkelt dataskydd med backupverktyget för Azure DevOps

DEC 19, 2023

Dataskydd och säkerhetskopiering är avgörande för alla organisationer som använder Azure DevOps för mjukvaruutveckling och projektledning. Azure DevOps Backup Tool erbjuder en heltäckande lösning som förenklar säkerhetskopiering och återställning av Azure DevOps-resurser, så att organisationens data är säker och tillgänglig. I det här blogginlägget går vi igenom funktionerna, fördelarna och användningen av Azure DevOps Backup Tool.

Alexander Hjelm

Översikt över huvudfunktionerna

Med Azure DevOps Backup Tool kan du:

  • Skapa säkerhetskopior av dina Azure DevOps-resurser som JSON-filer lagrade i en lokal katalog eller nätverksfilresurs. Du kan sedan återställa dessa säkerhetskopior till din produktionsmiljö när som helst. Vårt verktyg har stöd för alla följande datakällor i Azure DevOps:

    • Azure Boards

    • Azure Repos

    • Azure Pipelines

    • Azure Test Plans

    • Azure Artifacts

  • Enkel integration med Azure DevOps Pipelines.

  • Genomför datamigreringar smidigt mellan Azure DevOps-projekt eller konsolidera data från flera källor i ett enda Azure DevOps-projekt.
    Har stöd för både Azure DevOps Services-organisationer och Azure DevOps Server-samlingar.

    • Har stöd för både Azure DevOps Services-organisationer och Azure DevOps Server-samlingar.

Flexibla alternativ för säkerhetskopiering

Verktyget gör det möjligt att säkerhetskopiera specifika Azure DevOps-resurser utifrån dina behov. Oavsett vilken delmängd av resurser du vill säkerhetskopiera, och oavsett om du vill säkerhetskopiera ett enskilt projekt eller en hel organisation, ger Azure DevOps Backup Tool dig flexibilitet att välja omfattningen av dina säkerhetskopior.

Omfattande stöd för resurser

Azure DevOps Backup Tool har stöd för ett brett utbud av Azure DevOps-resurser, så att dina verksamhetskritiska data skyddas fullt ut. Detta omfattar bland annat Git-repositorier, pipelines, arbetsobjekt, processmodeller för arbetsobjekt, testplaner, artefakter och mycket mer.

Därför bör du överväga Azure DevOps Backup Tool

Azure DevOps Backup Tool fungerar som en försäkring som hjälper dig att säkerställa verksamhetskontinuitet. Det gör att dina utvecklare kan fortsätta arbeta smidigt och med minimala driftavbrott, även vid oförutsedda incidenter.

1. Dataåterställning och skydd mot permanent radering

Azure DevOps erbjuder möjligheten att permanent radera resurser, vilket kan innebära risker om viktig data råkar tas bort eller om ditt företag utsätts för en cyberattack. Azure DevOps Backup Tool säkerställer att du kan återställa viktig data även vid oavsiktlig radering eller säkerhetsincidenter.

  • Som standard mjukraderas Azure DevOps-resurser vanligtvis i 30 eller 90 dagar, beroende på resurs. De kan återställas via REST API under perioden för mjukradering, men inte efteråt.

  • Med Azure DevOps Backup Tool kan du behålla dina data på obestämd tid.

2. Effektiva och riktade säkerhetskopior

Till skillnad från traditionella metoder för säkerhetskopiering, som innebär att hela Azure DevOps-databasen säkerhetskopieras och återställs, erbjuder Azure DevOps Backup Tool en mer effektiv lösning. Med verktyget kan du enkelt och selektivt säkerhetskopiera specifika resurser, vilket eliminerar behovet av långa driftavbrott och minimerar påverkan på din utvecklingsprocess.

3. Krav på compliance och regelefterlevnad

Många företag omfattas av revisions- och myndighetskrav som förutsätter robusta åtgärder för dataskydd. Med en heltäckande backupstrategi kan du säkerställa dataintegritet och visa att du uppfyller gällande regelverk.

Funktioner

  • Säkerhetskopiera och återställ Azure DevOps-resurser lokalt (ett enskilt projekt eller hela organisationen)

  • Migrera eller konsolidera Azure DevOps-resurser mellan Azure DevOps-instanser och projekt

Översikt över uppgifter

Azure DevOps Backup Tool erbjuder en uppsättning pipeline-uppgifter som säkerhetskopierar Azure DevOps-data som JSON-filer till en lokal filkatalog.

Tillägget består av följande uppgifter:

  • Azure DevOps Backup Tool: Export – Kör exportjobb via en pipeline-uppgift. Spara de nedladdade filerna i ett lokalt filområde eller på en nätverksfilresurs.

  • Azure DevOps Backup Tool: Import – Kör importjobb via en pipeline-uppgift. Läs filer från ett lokalt filområde eller en nätverksfilresurs.

Resurser som stöds

Följande resurser stöds i dag (2023-05), och fler läggs kontinuerligt till:

  • Områdes- och iterationssökvägar

  • Team och teaminställningar

    • Konfiguration av teamtavla

  • Git-repositorier

    • Pull requests

    • Branch policies

  • Projektwikis

  • Pipelines

    • Build-definitioner

    • Release-definitioner

    • Uppgiftsgrupper

    • Variabelgrupper

    • Miljöer (deployment-grupper)

  • Work Items

    • Revisionshistorik

    • Kommentarer

    • Bilagelänkar

      • Länkar till arbetsobjekt

      • KODlänkar (repo/commit/branch/tag)

  • Frågor för arbetsobjekt

  • Instrumentpaneler

  • Processmodeller för arbetsobjekt

    • Ärvda

    • XML-baserade

  • Testplaner (inga testdata)

  • Artefakter

    • Feeds och paket

      • NuGet

      • Npm

      • Universal

      • Python (endast export)

Så här använder du verktyget

Vi går igenom stegen för att konfigurera och använda Azure DevOps Backup Tool på ett effektivt sätt.

1: Ladda ner tillägget

Börja med att ladda ner tillägget Azure DevOps Backup Tool från Azure DevOps Marketplace. Tillägget innehåller de uppgifter som behövs:

https://marketplace.visualstudio.com/items?itemName=solidify.ado-backup-tool

2a: Konfigurera en egenhostad byggserver (valfritt)

Följ de här stegen om du föredrar att använda en egenhostad byggserver:

  • Konfigurera en miljö med Windows Server 2016 eller senare.

  • Installera följande beroenden:

    • .NET Core 7.0 Runtime

    • git

    • pip

    • gradle

    • Azure CLI (az)

  • Säkerställ att byggservern har åtkomst till internet och Azure DevOps.

  • Konfigurera byggagenten.

2b: Använd en Microsoft-hostad Windows-byggagent

Du kan också använda en Microsoft-hostad Windows-byggagent som är förkonfigurerad med alla nödvändiga förutsättningar. Det förenklar konfigureringen och säkerställer kompatibilitet.

3: Konfigurera en dedikerad backupserver och exponera disken

Förbered en backupserver och exponera disken som en nätverksfilresurs. Den här servern används för att lagra backupkopior av dina Azure DevOps-resurser. Säkerställ att byggservern har åtkomst till nätverksfilresursen.

Den rekommenderade konfigurationen är följande:

  1. Exponera disken för ADO Pipeline Agent VM som en nätverksresurs.

  2. Montera nätverksresursen som en disk på ADO Pipeline Agent VM.

  3. Ange slutligen Migration Workspace i Export-uppgiften som en sökväg på den monterade nätverksdisken.

Här är ett exempel på serverarkitektur:

ServerPlatformFirewall opening
(1) Azure DevOps ServerWindows Server(2)
(2) Pipeline AgentWindows Server(1) and (3)
(3) Dedicated Backup ServerAny(2) (via network share)

4: Konfigurera backup-pipelinen med Azure Pipelines

Skapa en Azure Pipeline för att konfigurera backupprocessen. Använd Export Task från tillägget Azure DevOps Backup Tool för att exportera de Azure DevOps-resurser du vill ha. Använd dessutom uppgiften FileCopy för att kopiera de exporterade resurserna till din nätverksfilresurs på backupservern.

Här är ett exempel på en YAML-pipeline som publicerar de exporterade resurserna som en build artifact för felsöknings- och demosyften:

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: Konfigurera schemaläggningen för Export Task

För att automatisera backupprocessen konfigurerar du schemaläggningen för Export Task i din Azure Pipeline. Välj ett lämpligt schema, till exempel att köra backupen dagligen vid midnatt eller varje vecka.

Här är ett exempelschema:

schedules:
- cron: "0 0 * * *"
  displayName: Nightly Build

6: Ge build service-kontot rätt behörigheter

Säkerställ att build service-kontot har de behörigheter som krävs i Azure DevOps-målprojektet. Kontot bör minst ha följande roll:

  • Läsare (endast för exportåtgärder)

  • Medarbetare (för export- och importåtgärder)

7: Kör backup-pipelinen

Starta backup-pipelinen och övervaka körningen. Kontrollera att alla Azure DevOps-resurser du vill säkerhetskopiera har exporterats och skrivits till backup-servern som förväntat.

8: Återställ data med Import Task

För att återställa dina säkerhetskopierade data konfigurerar du Import Task i en Azure Pipeline. Starta pipelinen manuellt och använd uppgiften FileCopy för att kopiera resurserna från backup-servern till pipeline-arbetsytan. Kör sedan Import Task för att återställa resurserna till din Azure DevOps-miljö.

Här är ett exempel på en yaml-pipeline för att starta en resursimport:

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: true

Slutsats

Azure DevOps Backup Tool hjälper organisationer att skydda sina Azure DevOps-data, effektivisera processerna för säkerhetskopiering och återställning samt möjliggöra smidig migrering mellan instanser och projekt. Verktyget bidrar till verksamhetskontinuitet och minskar risken för dataförlust.

Börja använda Azure DevOps Backup Tool redan i dag och ta kontroll över dina Azure DevOps-data!

Se Azure DevOps Backup Tool på Azure DevOps Marketplace: https://marketplace.visualstudio.com/items?itemName=solidify.ado-backup-tool

  • Moln
  • Microsoft

Subscribe to our newsletter