Azure DevOps repo 备份副本 [已关闭]。

问题描述 投票:0回答:1

我们已经在 https:/dev.azure.com。现在我的经理想要定期备份这个仓库的副本。我向经理解释说 https:/dev.azure.com。 是由MS管理的SAAS,所以repo永远是安全的.但他想要一个自己的副本。

我想了几个选择:a)在任何开发者机器上获得最新的,并采取备份到磁带设备b)使用Azure DevOps的一些信息,以保持备份在Azure存储。

方案b的可行性如何?

对Azure DevOps进行备份,是否可以备份过去所有的签到历史?

Azure DevOps上有什么备份服务可以和Azure Storage链接吗?

在Azure DevOps上使用一些xyz服务可以进行增量备份吗?

azure azure-devops azure-devops-rest-api azure-devops-extensions
1个回答
1
投票

选项b的可行性如何?

在Azure Devops服务中是可行的。你需要的是一个 Yaml管道 其中 触发所有分支.

您可以使用 命令行任务 来备份回购到 {RepoName}.git 文件夹,然后将此文件夹复制到Azure存储中,使用 Azure文件复制任务. 类似这样的:

trigger:
  branches:
    include:
    - '*'

pool:
  vmImage: 'windows-latest'

steps:
  - task: CmdLine@2
    inputs:
      script: 'git clone --mirror https://{Your PAT}@dev.azure.com/{OrgName}/{ProjectName}/_git/{RepoName}'

  - task: ArchiveFiles@2
    inputs:
      rootFolderOrFile: '$(System.DefaultWorkingDirectory)/{RepoName}.git'
      includeRootFolder: true
      archiveType: 'zip'
      archiveFile: '$(Build.ArtifactStagingDirectory)/Backup.zip'
      replaceExistingArchive: true

  - task: AzureFileCopy@4
    displayName: 'AzureBlob File Copy'
    inputs:
      SourcePath: '$(Build.ArtifactStagingDirectory)/Backup.zip'
      azureSubscription: xxxx
      Destination: AzureBlob
      storage: xxxxxxxx
      ContainerName: arm
      BlobPrefix: test

详细介绍。

1.CI Trigger with wildcard(*)可以监控你所有的分支。因此,如果你的repo有任何更新,管道将被触发运行。

2.cmd任务调用 git clone --mirror 来复制你的Git repo。要在cmd任务中用PAT复制Azure Git repo,可以按照以下格式进行 此处:

git clone https://{yourPAT}@dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName

该命令将创建一个 RepoName.git 文件夹,其中包含您的 repo 的副本在此路径中。$(System.DefaultWorkingDirectory). 到 创立PAT你只需要创建一个具有Code-read访问范围的。

enter image description here

3.逻辑是: 如果你的源码仓库有任何变化=>管道将被触发=>在DefaultWorkingDirectory(CMD任务)中制作一个最新的副本=>将这个副本归档到数据库中。Backup.zip 文件(归档文件任务=>Azure文件复制任务将复制这个。Backup.zip 到Azure存储 blobs)

© www.soinside.com 2019 - 2024. All rights reserved.