我正在寻找每周备份Azure DevOps存储库的选项。 可以在Azure DevOps中直接使用吗?如果没有,还有哪些其他选择。
答案 0 :(得分:1)
您需要做的就是创建每周计划的管道。进行备份的步骤:
1。检查Configure schedules for pipelines ,建议您创建一个经典的构建管道,该管道计划在一周的一天内进行:
如果仅在更改源存储库时才执行备份,请启用Only schedule builds if the source or pipeline has changed
。
2。管道的第一个任务可以是内容为git clone --mirror https://{Your PAT}@dev.azure.com/{OrgName}/{ProjectName}/_git/{RepoName}
然后,您可以使用 ArchiveFiles 任务将备份压缩到Backup.zip
文件中。
有关此部分的更多详细信息,可以查看我的另一篇文章here。 (也可以在$(Build.ArtifactStagingDirectory)/Backup-$(Build.BuildId).zip
输入中使用此archiveFile
,用buildId命名backup.zip)
3。之后,您需要执行最后一个任务来存储Backup.zip
/ Backup-$(Build.BuildId).zip
文件。
如果要将备份存储在Azure存储中,则可以使用AzureFileCopy
任务。 (类似上述链接的情况〜)
如果要将备份存储在本地计算机中,则可以使用Publish Build Artifact
任务来发布工件。然后只要有效,就可以将其下载到本地计算机中。
您还可以创建一个github私有存储库来存储备份,每次在管道末尾将新的Backup.zip提交到github存储库。 (将CMD任务与git命令一起使用。)
此外:请参见Azure DevOps Repos synchronization between Organization,您有另一个方向。不是备份,而是同步Azure DevOps存储库和Github存储库。
答案 1 :(得分:0)
@Lance 上面的回答绝对是一种行之有效的方法,但显然依赖于每个 repo 的配置。既然你问有哪些替代方案,我想我们可以再提一个。
一旦我们之前的组织变得过大(350 多个存储库)并拥有多名工程师,我们意识到维护管道以对每个存储库进行备份对我们来说是无效的。工程师经常忘记自己添加任务。我们还使用了未备份的工作项/wiki。
因此,我们随后启动了 Backrightup:一种托管解决方案,它将自动备份您 Azure Devops 中的所有内容:您的存储库、维基、工作项、测试用例等。