【问题标题】:backup of Azure DevOps repositories [closed]Azure DevOps 存储库的备份 [关闭]
【发布时间】:2020-06-03 14:08:17
【问题描述】:

我正在寻找每周备份 Azure DevOps 存储库的选项。 这在开箱即用的 Azure DevOps 中是否可行?如果不是,其他选择是什么。

【问题讨论】:

  • 其实我认为备份是没有必要的,因为你的个人回购受到微软的保护。但是,备份在我们的生活中从来都不是一个坏主意!因此,如果您确实想要在某个地方进行备份,请随意这样做,您可以按照我的回答做您想做的事~
  • 设置When to build,禁用Only schedule builds if ...,不行吗?
  • 对于第1步:您需要创建和编辑管道的权限。对于第 3 步:由于您尝试使用 Azure 文件复制任务部署到 azure 存储,因此您需要一个服务连接 (ARM service connection)。
  • 服务连接将使用一些 Azure 权限(不是 azure devops!)。所以如果你有Azure相关的权限(azure和azure devops中的同一个账号)访问服务原理(可以访问存储),你可以自己创建。或者您可以要求您的管理员为您建立服务连接,并通过Service connection Security(You can easily find related docs online for this option) 授予您对服务连接的访问​​权限。
  • 如果您使用发布构建工件任务,您需要每周手动下载。 (如果你不下载它,它会托管在云端,你可以随时下载。小心避免管道运行是unvalid。)

标签: azure-devops backup devops azure-devops-rest-api


【解决方案1】:

您需要做的就是创建每周安排的管道。备份步骤:

1.检查Configure schedules for pipelines ,我建议你可以创建一个经典的构建管道,它会安排在一周中的一天:

如果您只想在源代码库更改时进行备份,请启用Only schedule builds if the source or pipeline has changed

2.管道的第一个任务可以是 CMD 任务,内容为:git clone --mirror https://{Your PAT}@dev.azure.com/{OrgName}/{ProjectName}/_git/{RepoName}

然后您可以使用 ArchiveFiles 任务将备份压缩到 Backup.zip 文件中。 有关这部分的更多详细信息,您可以查看我的另一篇帖子here。 (您也可以使用 buildId 命名 backup.zip,在 archiveFile 输入中使用此 $(Build.ArtifactStagingDirectory)/Backup-$(Build.BuildId).zip

3.之后,您需要一个最终任务来存储Backup.zip/Backup-$(Build.BuildId).zip 文件。

如果要将备份存储在 Azure 存储中,可以使用 AzureFileCopy 任务。 (类似上面链接的场景~)

如果您想将备份存储在本地机器中,您可以使用Publish Build Artifact 任务发布工件。然后,只要构建有效,您就可以在本地机器上下载它。

您还可以创建一个 github 私有存储库来存储备份,每次在管道结束时将新的 Backup.zip 提交到 github 存储库。 (使用带有 git 命令的 CMD 任务。)

另外:Azure DevOps Repos synchronization between Organization,你还有别的方向。不是备份,而是同步 Azure DevOps Repos 和 Github repo。

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 2021-06-14
    • 2019-12-20
    • 2020-07-14
    • 2021-10-09
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多