Azure DevOps存储库备份副本

美国广播公司

我们已经在https://dev.azure.com/上创建了存储库现在,我的经理希望定期获得此存储库的备份副本。我向经理解释说,https ://dev.azure.com/由MS作为SAAS管理,因此回购协议始终是安全的。但是他想要自己的副本。是什么呀!

我想到了几个选择:a)在任何开发人员计算机上获取最新信息并将备份备份到磁带设备中
b)使用一些Azure DevOps来保持Azure存储上的备份

选项b的可行性如何?

过去的所有签入历史记录都可以备份Azure DevOps吗?

我可以与Azure存储链接的Azure DevOps上的任何备份服务吗?

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

Lance Li-MSFT

选项b的可行性如何?

在Azure Devops Service中是可能的。你需要的是一个YAML管道,其触发所有分支

您可以使用命令行任务将存储库备份到{RepoName}.git文件夹中,然后使用Azure File Copy task将此文件夹复制到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触发器可以监视您的所有分支。因此,如果您的仓库有任何更新,管道将被触发运行。

2. cmd任务调用git clone --mirror制作git repo的副本。为了与PAT CMD复制任务的Git Azure的回购,你可以按照格式在这里

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

此命令将RepoName.git在以下路径中创建一个文件夹,其中包含您的仓库的副本$(System.DefaultWorkingDirectory)创建PAT,您只需创建一个具有Code读取访问范围的对象:

在此处输入图片说明

3.逻辑是:如果您的源仓库有任何更改=>将触发管道=>它将在DefaultWorkingDirectory(CMD task)=>中复制最新副本到Backup.zip文件中(Archive file task => Azure File)复制任务会将其复制Backup.zip到Azure存储Blob)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章